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
| Name | Type | Description |
|---|---|---|
game | ShikakuGame | The current immutable game state. |
rectangle | ShikakuRectangle | 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)