toggleMasyuEdgefunction
Apply the requested native Masyu entry or mark to a new immutable game; invalid or fixed targets stay unchanged.
Import it
import { toggleMasyuEdge } from "@johnmorrisdotca/kazu/masyu";
Also exported from: @johnmorrisdotca/kazu
Definition
function toggleMasyuEdge(game: MasyuGame, edge: number): MasyuGame
Parameters
| Name | Type | Description |
|---|---|---|
game | MasyuGame | The current immutable game state. |
edge | number | A zero-based native edge index. |
Returns
MasyuGame
Apply the requested native Masyu entry or mark to a new immutable game; invalid or fixed targets stay unchanged.
Examples
import type { MasyuBoard } from "@johnmorrisdotca/kazu/masyu";
import { newMasyu, toggleMasyuEdge } from "@johnmorrisdotca/kazu/masyu";
const masyuBoard: MasyuBoard = {"width":5,"height":5,"pearls":[2,1,0,1,2,1,0,0,0,1,2,1,0,1,2,0,0,0,0,0,0,0,0,0,0]};
const masyuGame = newMasyu(masyuBoard);
console.log(toggleMasyuEdge(masyuGame,0));{
board: {
width: 5,
height: 5,
pearls: [
2, 1, 0, 1, 2, 1, 0, 0,
0, 1, 2, 1, 0, 1, 2, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0
]
},
edges: [ 0 ],
history: [ [] ],
helped: false
}What it prints (run when this page was built)