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

removeShikakufunction

Remove the rectangle containing a cell.

Import it

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

Also exported from: @johnmorrisdotca/kazu

Definition

function removeShikaku(game: ShikakuGame, cell: number): ShikakuGame

Parameters

NameTypeDescription
gameShikakuGame

The current immutable game state.

cellnumber

A zero-based row-major cell index.

Returns

ShikakuGame

Remove the rectangle containing a cell.

Examples

import type { ShikakuBoard, ShikakuPuzzle } from "@johnmorrisdotca/kazu/shikaku";
import { newShikaku, placeShikaku, removeShikaku } 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(removeShikaku(placeShikaku(shikakuGame,shikakuSolution[0]),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: [],
  history: [ [], [ [Object] ] ],
  helped: false
}

What it prints (run when this page was built)

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