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

solveYajilinfunction

Counts public shade patterns whose remaining cells form the single required loop.

Import it

import { solveYajilin } from "@johnmorrisdotca/kazu/yajilin";

Also exported from: @johnmorrisdotca/kazu

Definition

function solveYajilin(board: YajilinBoard, options?: { limit?: number; nodes?: number; }): YajilinSolve

Parameters

NameTypeDescription
boardYajilinBoard

The valid native board with its printed clues and dimensions.

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

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

Returns

YajilinSolve

Counts public shade patterns whose remaining cells form the single required loop.

Examples

import type { YajilinBoard } from "@johnmorrisdotca/kazu/yajilin";
import { solveYajilin } from "@johnmorrisdotca/kazu/yajilin";

const yajilinBoard: YajilinBoard = {"width":5,"height":5,"clues":[{"direction":"left","count":0},null,{"direction":"right","count":1},null,{"direction":"up","count":0},null,null,null,null,null,{"direction":"right","count":0},null,{"direction":"left","count":0},null,{"direction":"down","count":1},{"direction":"left","count":0},null,null,null,null,null,{"direction":"up","count":1},{"direction":"down","count":0},null,{"direction":"down","count":0}]};
console.log(solveYajilin(yajilinBoard,{limit:2,nodes:20000}));
{
  count: 1,
  solution: {
    shaded: [
      false, true,  false, true,
      false, true,  false, false,
      false, true,  false, false,
      false, false, false, false,
      false, false, false, true,
      true,  false, false, true,
      false
    ],
    edges: [
       5, 26,  6, 28,
      31, 33, 13, 14
    ]
  },
  complete: true,
  nodes: 295
}

What it prints (run when this page was built)

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