Reference · Mazes, arrows and mixed boards
withStoneRulesfunction
The same game under other rules (the limit or the reach changed, or stones turned on or off): the stones down stay down, and none is ever taken off by a lower limit, only no more laid.
Import it
import { withStoneRules } from "@johnmorrisdotca/meikyuu";
Definition
function withStoneRules<M extends MazeCore>(game: MazeGame<M>, rules: StoneRules | null): MazeGame<M>
Parameters
| Name | Type | Description |
|---|---|---|
game | MazeGame<M> | The current immutable native game state. |
rules | StoneRules | null | Native stone limit/reach, or null when disabled. |
Returns
MazeGame<M>
The same game under other rules (the limit or the reach changed, or stones turned on or off): the stones down stay down, and none is ever taken off by a lower limit, only no more laid.
Examples
import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, newMazeGame, withStoneRules } from "@johnmorrisdotca/meikyuu";
const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const game = newMazeGame(maze);
console.log(withStoneRules(game,{limit:5,reach:1}).rules);{ limit: 5, reach: 1 }What it prints (run when this page was built)