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

placeShikakufunction

Place a rectangle, replacing any it touches. Local rule errors are allowed for the player to check.

Import it

import { placeShikaku } from "@johnmorrisdotca/kazu/shikaku";

Also exported from: @johnmorrisdotca/kazu

Definition

function placeShikaku(game: ShikakuGame, rectangle: ShikakuRectangle): ShikakuGame

Parameters

NameTypeDescription
gameShikakuGame

The current immutable game state.

rectangleShikakuRectangle

The rectangle to place.

Returns

ShikakuGame

Place a rectangle, replacing any it touches. Local rule errors are allowed for the player to check.

Examples

import type { ShikakuBoard, ShikakuPuzzle } from "@johnmorrisdotca/kazu/shikaku";
import { newShikaku, placeShikaku } 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 shikakuSolution: ShikakuPuzzle["solution"] = [{"x":0,"y":0,"width":3,"height":1},{"x":3,"y":0,"width":2,"height":1},{"x":1,"y":1,"width":4,"height":1},{"x":4,"y":2,"width":1,"height":3},{"x":0,"y":1,"width":1,"height":4},{"x":1,"y":2,"width":1,"height":3},{"x":2,"y":2,"width":2,"height":3}];
const shikakuGame = newShikaku(shikakuBoard);
console.log(placeShikaku(shikakuGame,shikakuSolution[0]));
{
  board: {
    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
    ]
  },
  rectangles: [ { x: 0, y: 0, width: 3, height: 1 } ],
  history: [ [] ],
  helped: false
}

What it prints (run when this page was built)

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