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

ShikakuRatingtype

How hard a board is, measured by solving it. depth 0 means the rules solve it, 1 that somebody has to suppose a rectangle and watch it break, 2 that more than that is needed. rules is how many of the three rules a depth-0 solve needed: 1 for a number with one fitting rectangle (a settled rectangle clears its squares), 2 adding that a square only one rectangle can cover is covered by it, 3 adding that a square only one number can reach makes that number's rectangle cover it. probes is the suppositions depth 1 needed.

Import it

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

Also exported from: @johnmorrisdotca/kazu

Definition

type ShikakuRating = {
    depth: 0 | 1 | 2;
    rules: 1 | 2 | 3;
    probes: number;
    rectangles: number;
    meanArea: number;
    largest: number;
    ambiguity: number;
};

Members

NameTypeDescription
depth0 | 1 | 2
rules3 | 1 | 2
probesnumber
rectanglesnumber
meanAreanumber
largestnumber
ambiguitynumber

Mean number of rectangles a number could be at the start.

Examples

import type { ShikakuBoard, ShikakuRating } from "@johnmorrisdotca/kazu/shikaku";
import { rateShikaku } 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]};
const value: ShikakuRating = rateShikaku(shikakuBoard);
console.log(value);
{
  depth: 0,
  rules: 1,
  probes: 0,
  rectangles: 7,
  meanArea: 3.5714285714285716,
  largest: 6,
  ambiguity: 1.4285714285714286
}

What it prints (run when this page was built)

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