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 · Ripple Effect rules

RippleSolvetype

A bounded Ripple solve result: answer count, first solution, node work and whether the search completed.

Import it

import type { RippleSolve } from "@johnmorrisdotca/kazu/ripple";

Also exported from: @johnmorrisdotca/kazu

Definition

type RippleSolve = {
    count: number;
    solution: readonly number[] | null;
    complete: boolean;
    nodes: number;
};

Members

NameTypeDescription
countnumber
solutionreadonly number[] | null
completeboolean
nodesnumber

Examples

import type { RippleBoard, RippleSolve } from "@johnmorrisdotca/kazu/ripple";
import { solveRipple } from "@johnmorrisdotca/kazu/ripple";

const rippleBoard: RippleBoard = {"width":9,"height":9,"rooms":[0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,3,3,3,4,4,4,5,5,5,3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,6,6,6,7,7,7,8,8,8,6,6,6,7,7,7,8,8,8],"clues":[4,null,7,9,2,null,5,null,3,null,null,3,6,7,4,8,9,2,8,null,2,1,3,null,null,null,null,7,null,1,null,6,null,null,null,9,3,8,null,5,1,7,null,null,6,2,4,6,null,9,3,7,5,1,1,null,8,null,5,null,9,2,4,null,2,null,null,null,null,null,null,null,6,null,null,2,4,null,null,3,null]};
const value: RippleSolve = solveRipple(rippleBoard,{limit:2,nodes:20000});
console.log(value);
{
  count: 1,
  solution: [
    4, 6, 7, 9, 2, 8, 5, 1, 3, 5, 1, 3,
    6, 7, 4, 8, 9, 2, 8, 9, 2, 1, 3, 5,
    4, 6, 7, 7, 5, 1, 4, 6, 2, 3, 8, 9,
    3, 8, 9, 5, 1, 7, 2, 4, 6, 2, 4, 6,
    8, 9, 3, 7, 5, 1, 1, 3, 8, 7, 5, 6,
    9, 2, 4, 9, 2, 4, 3, 8, 1, 6, 7, 5,
    6, 7, 5, 2, 4, 9, 1, 3, 8
  ],
  complete: true,
  nodes: 61
}

What it prints (run when this page was built)

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