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 · Number-puzzle engines

hintKazufunction

The next cell a person could fill in, and why (see KazuHint). entries is what the player has written, row-major (0 for empty; printed cells are ignored). answer is the puzzle's solution as a cells code; left out, it is worked out from the givens. Null when every cell is right, or when the givens are not a puzzle with exactly one answer: there is nothing true to say.

Import it

import { hintKazu } from "@johnmorrisdotca/kazu";

Definition

function hintKazu(kind: KazuKind, size: number, givens: string, entries: readonly number[], answer?: string): KazuHint | null

Parameters

NameTypeDescription
kind"number-place" | "jigsaw" | "diagonal" | "sum-cages" | "more-or-less" | "towers"

The native number-grid puzzle key.

sizenumber

The supported square grid side length.

givensstring

The original native printed-clue code.

entriesreadonly number[]

The player entries, row-major, zero for blanks and printed cells.

answer (optional)string | undefined

The complete native answer code.

Returns

KazuHint | null

An actionable cell/value hint, or null for invalid input, unavailable answer or a complete grid.

Examples

import type { KazuPuzzle } from "@johnmorrisdotca/kazu";
import { decodeCells, hintKazu, newKazuGame } from "@johnmorrisdotca/kazu";

const puzzle: KazuPuzzle = {"kind":"number-place","size":4,"level":"easy","seed":42,"givens":"14..2..1412.3..4","solution":"1432234141233214"};
const kind = puzzle.kind;
const size = puzzle.size;
const givens = puzzle.givens;
const answer = puzzle.solution;
const solution = decodeCells(answer,size)!;
const game = newKazuGame(kind,size,givens)!;
console.log(hintKazu(kind,size,givens,game.entries,answer));
{
  cell: 2,
  value: 3,
  why: 'only-number',
  by: undefined,
  replaces: false
}

What it prints (run when this page was built)

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