Reference · Mazes, arrows and mixed boards
hintMazefunction
Where to look next: how many cells of the line to draw back (the part that has strayed from the way to
what is still needed), and the next stretch of the right way from there, up to ahead cells, not
counting the one the line is on. The right way goes to the nearest key not yet picked up, and to the goal
when there are none. Empty ahead when the maze is solved.
Import it
import { hintMaze } from "@johnmorrisdotca/meikyuu";
Definition
function hintMaze(game: MazeGame<MazeCore>, ahead?: number): { back: number; cells: number[]; }
Parameters
| Name | Type | Description |
|---|---|---|
game | MazeGame<MazeCore> | The current immutable native game state. |
ahead (optional) | number | The number of hint cells to show ahead. |
Returns
{ back: number; cells: number[]; }
Where to look next: how many cells of the line to draw back (the part that has strayed from the way to what is still needed), and the next stretch of the right way from there, up to ahead cells, not counting the one the line is on. The right way goes to the nearest key not yet picked up, and to the goal when there are none. Empty ahead when the maze is solved.
Examples
import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, hintMaze, newMazeGame } 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(hintMaze(game,1));{ back: 0, cells: [ 6 ] }What it prints (run when this page was built)