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

LoopRatingtype

How hard a board is, measured by solving it. depth 0 means the plain rules solve it, 1 that somebody has to suppose an edge drawn or crossed and watch it break, 2 that more than that is needed; probes is how many suppositions depth 1 needed. The rest describes the board.

Import it

import type { LoopRating } from "@johnmorrisdotca/kazu/loop";

Also exported from: @johnmorrisdotca/kazu

Definition

type LoopRating = {
    depth: 0 | 1 | 2;
    probes: number;
    clues: number;
    clueShare: number;
    zeroShare: number;
    loop: number;
};

Members

NameTypeDescription
depth0 | 1 | 2
probesnumber
cluesnumber
clueSharenumber

Numbered squares as a share of all squares.

zeroSharenumber

Squares numbered 0 as a share of the numbered ones.

loopnumber

Edges in the loop.

Examples

import type { LoopBoard, LoopRating } from "@johnmorrisdotca/kazu/loop";
import { rateLoop } from "@johnmorrisdotca/kazu/loop";

const loopBoard: LoopBoard = {"width":5,"height":5,"clues":[2,3,1,null,null,3,1,1,null,null,3,2,2,null,null,3,0,2,2,null,2,2,1,2,3]};
const value: LoopRating = rateLoop(loopBoard);
console.log(value);
{
  depth: 0,
  probes: 0,
  clues: 18,
  clueShare: 0.72,
  zeroShare: 0.05555555555555555,
  loop: 22
}

What it prints (run when this page was built)

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