setHeyawakeCellfunction
Apply the requested native Heyawake entry or mark to a new immutable game; invalid or fixed targets stay unchanged.
Import it
import { setHeyawakeCell } from "@johnmorrisdotca/kazu/heyawake";
Also exported from: @johnmorrisdotca/kazu
Definition
function setHeyawakeCell(game: HeyawakeGame, cell: number, value: boolean | null): HeyawakeGame
Parameters
| Name | Type | Description |
|---|---|---|
game | HeyawakeGame | The current immutable game state. |
cell | number | A zero-based row-major cell index. |
value | boolean | null | A candidate board, digit, mark or encoded game specified by this signature. |
Returns
HeyawakeGame
Apply the requested native Heyawake entry or mark to a new immutable game; invalid or fixed targets stay unchanged.
Examples
import type { HeyawakeBoard } from "@johnmorrisdotca/kazu/heyawake";
import { newHeyawake, setHeyawakeCell } from "@johnmorrisdotca/kazu/heyawake";
const heyawakeBoard: HeyawakeBoard = {"width":5,"height":5,"rooms":[{"x":0,"y":0,"width":1,"height":1,"blacks":0},{"x":0,"y":1,"width":1,"height":2,"blacks":0},{"x":0,"y":3,"width":1,"height":2,"blacks":1},{"x":1,"y":0,"width":1,"height":4,"blacks":1},{"x":1,"y":4,"width":1,"height":1,"blacks":0},{"x":2,"y":0,"width":3,"height":5,"blacks":3}]};
const heyawakeGame = newHeyawake(heyawakeBoard);
console.log(setHeyawakeCell(heyawakeGame,0,true));{
board: {
width: 5,
height: 5,
rooms: [ [Object], [Object], [Object], [Object], [Object], [Object] ]
},
entries: [
true, null, null, null, null,
null, null, null, null, null,
null, null, null, null, null,
null, null, null, null, null,
null, null, null, null, null
],
history: [
[
null, null, null, null, null,
null, null, null, null, null,
null, null, null, null, null,
null, null, null, null, null,
null, null, null, null, null
]
],
helped: false
}What it prints (run when this page was built)