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

solveHeyawakefunction

Search for Heyawake answers up to the solution and node limits; completion distinguishes a proved result from exhausted work.

Import it

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

Also exported from: @johnmorrisdotca/kazu

Definition

function solveHeyawake(board: HeyawakeBoard, entries?: readonly (boolean | null)[], options?: { limit?: number; nodes?: number; }): HeyawakeSolve

Parameters

NameTypeDescription
boardHeyawakeBoard

The valid native board with its printed clues and dimensions.

entries (optional)readonly (boolean | null)[]

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

options (optional){ limit?: number; nodes?: number; }

Solution/node limits or native SVG choices specified by the signature.

Returns

HeyawakeSolve

Search for Heyawake answers up to the solution and node limits; completion distinguishes a proved result from exhausted work.

Examples

import type { HeyawakeBoard } from "@johnmorrisdotca/kazu/heyawake";
import { solveHeyawake } 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}]};
console.log(solveHeyawake(heyawakeBoard,undefined,{limit:2,nodes:20000}));
{
  count: 1,
  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
  ],
  nodes: 8360,
  complete: true
}

What it prints (run when this page was built)

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