Reference · Mazes, arrows and mixed boards
withMazefunction
The labyrinth changed: when its button is reached, every locked arrow is unlocked.
Import it
import { withMaze } from "@johnmorrisdotca/meikyuu";
Definition
function withMaze(game: MixedGame, maze: MazeGame): MixedGame
Parameters
| Name | Type | Description |
|---|---|---|
game | MixedGame | The current immutable native game state. |
maze | MazeGame | The valid flat/surface maze or required maze-core fields. |
Returns
MixedGame
The labyrinth changed: when its button is reached, every locked arrow is unlocked.
Examples
import type { ArrowRecipe, MazeRecipe, MixedRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, buildMixed, makeArrows, newMixedGame, playSolution, withMaze } from "@johnmorrisdotca/meikyuu";
const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const arrowRecipe: ArrowRecipe = {shape:"square",w:5,h:5,longest:3,seed:42};
const arrows = makeArrows(arrowRecipe);
const mixedRecipe: MixedRecipe = {maze:recipe,arrows:arrowRecipe};
const mixed = buildMixed(mixedRecipe);
const mixedGame = newMixedGame(mixed);
console.log(withMaze(mixedGame,playSolution(mixedGame.maze)).maze.solved);trueWhat it prints (run when this page was built)