Skip to the content

Meikyuu迷宮

Generate seeded mazes and arrow puzzles, follow numbered levels, and play on flat grids or three-dimensional surfaces.

Meikyuu is the Japanese word 迷宮 for labyrinth. About the name

Contents

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

NameTypeDescription
gameMazeGame<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)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/meikyuu 3.2.0.