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 · Shikaku rules

solveShikakufunction

Exact cover over squares. A bounded search reports incompleteness instead of claiming uniqueness.

Import it

import { solveShikaku } from "@johnmorrisdotca/kazu/shikaku";

Also exported from: @johnmorrisdotca/kazu

Definition

function solveShikaku(board: ShikakuBoard, placed?: readonly ShikakuRectangle[], options?: { limit?: number; nodes?: number; }): ShikakuSolve

Parameters

NameTypeDescription
boardShikakuBoard

The valid native board with its printed clues and dimensions.

placed (optional)readonly ShikakuRectangle[]

Rectangles already placed, to constrain the remaining search.

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

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

Returns

ShikakuSolve

Exact cover over squares. A bounded search reports incompleteness instead of claiming uniqueness.

Examples

import type { ShikakuBoard } from "@johnmorrisdotca/kazu/shikaku";
import { solveShikaku } from "@johnmorrisdotca/kazu/shikaku";

const shikakuBoard: ShikakuBoard = {"width":5,"height":5,"clues":[3,0,0,0,2,0,0,0,0,4,0,0,0,0,0,0,0,0,0,3,4,3,6,0,0]};
console.log(solveShikaku(shikakuBoard,[],{limit:2,nodes:20000}));
{
  count: 1,
  solution: [
    { x: 0, y: 0, width: 3, height: 1 },
    { x: 3, y: 0, width: 2, height: 1 },
    { x: 1, y: 1, width: 4, height: 1 },
    { x: 4, y: 2, width: 1, height: 3 },
    { x: 0, y: 1, width: 1, height: 4 },
    { x: 1, y: 2, width: 1, height: 3 },
    { x: 2, y: 2, width: 2, height: 3 }
  ],
  complete: true,
  nodes: 0
}

What it prints (run when this page was built)

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