Skip to the content

Kazu数

Generate checked Sudoku and logic puzzles, read native rules and hints, and draw or embed playable boards.

Kazu is the Japanese word 数 for number. About the name

Contents

Reference · Heyawake rules

checkRoomSpansfunction

Add unshaded straight-line room-span violations to the supplied error set.

Import it

import { checkRoomSpans } from "@johnmorrisdotca/kazu/heyawake";

Also exported from: @johnmorrisdotca/kazu

Definition

function checkRoomSpans(board: HeyawakeBoard, entries: readonly (boolean | null)[], roomIds?: number[], errors?: Set<number>): void

Parameters

NameTypeDescription
boardHeyawakeBoard

The valid native board with its printed clues and dimensions.

entriesreadonly (boolean | null)[]

Current row-major entries; omit to search from printed clues.

roomIds (optional)number[]

Optional precomputed room index for each cell.

errors (optional)Set<number>

The set receiving cells violating room-span rules.

Examples

import type { HeyawakeBoard, HeyawakePuzzle } from "@johnmorrisdotca/kazu/heyawake";
import { checkRoomSpans, roomForCell } from "@johnmorrisdotca/kazu/heyawake";

const heyawakeBoard: HeyawakeBoard = {"width":5,"height":5,"rooms":[{"x":0,"y":0,"width":1,"height":1,"blacks":0},{"x":0,"y":1,"width":1,"height":2,"blacks":0},{"x":0,"y":3,"width":1,"height":2,"blacks":1},{"x":1,"y":0,"width":1,"height":4,"blacks":1},{"x":1,"y":4,"width":1,"height":1,"blacks":0},{"x":2,"y":0,"width":3,"height":5,"blacks":3}]};
const heyawakeSolution: HeyawakePuzzle["solution"] = [false,false,true,false,false,false,true,false,false,false,false,false,true,false,false,true,false,false,false,false,false,false,true,false,false];
const errors = new Set<number>();
checkRoomSpans(heyawakeBoard,heyawakeSolution,roomForCell(heyawakeBoard),errors);
console.log([...errors]);
[]

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/kazu 2.1.0.