Reference · Mazes, arrows and mixed boards
toggleStonefunction
A tap on a cell: a stone there is taken up, and otherwise one is laid. how says which, or that it was refused and why.
Import it
import { toggleStone } from "@johnmorrisdotca/meikyuu";
Definition
function toggleStone<M extends MazeCore>(game: MazeGame<M>, cell: number): { game: MazeGame<M>; how: "laid" | "taken" | "refused"; why: StoneVerdict; }
Parameters
| Name | Type | Description |
|---|---|---|
game | MazeGame<M> | The current immutable native game state. |
cell | number | A zero-based native cell index. |
Returns
{ game: MazeGame<M>; how: "laid" | "taken" | "refused"; why: StoneVerdict; }
A tap on a cell: a stone there is taken up, and otherwise one is laid. how says which, or that it was refused and why.
Examples
import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, newMazeGame, toggleStone } from "@johnmorrisdotca/meikyuu";
const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const stoneGame = newMazeGame(maze,{limit:5,reach:1});
console.log(toggleStone(stoneGame,maze.goal).how);refusedWhat it prints (run when this page was built)