Reference · Mazes, arrows and mixed boards
dragMazefunction
The finger moved into a cell. A cell that is not next to the line's end is ignored: a page that moves faster than cells go calls this for each cell between.
Import it
import { dragMaze } from "@johnmorrisdotca/meikyuu";
Definition
function dragMaze<M extends MazeCore>(game: MazeGame<M>, cell: number): MazeGame<M>
Parameters
| Name | Type | Description |
|---|---|---|
game | MazeGame<M> | The current immutable native game state. |
cell | number | A zero-based native cell index. |
Returns
MazeGame<M>
The finger moved into a cell. A cell that is not next to the line's end is ignored: a page that moves faster than cells go calls this for each cell between.
Examples
import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, dragMaze, newMazeGame, pressMaze, solutionOf } from "@johnmorrisdotca/meikyuu";
const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const route = solutionOf(maze);
const game = newMazeGame(maze);
console.log(dragMaze(pressMaze(game,maze.start),route[1]).path);[ 6, 5 ]What it prints (run when this page was built)