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

tapMazefunction

A tap on a cell: the line runs along the passage toward it as far as the next place it could have gone another way, or to the cell itself if that comes first. A tap on a cell of the line cuts the line back to it. It begins the line when the tap is on the start. It never decides a fork for the player.

Import it

import { tapMaze } from "@johnmorrisdotca/meikyuu";

Definition

function tapMaze<M extends MazeCore>(game: MazeGame<M>, cell: number): MazeGame<M>

Parameters

NameTypeDescription
gameMazeGame<M>

The current immutable native game state.

cellnumber

A zero-based native cell index.

Returns

MazeGame<M>

A tap on a cell: the line runs along the passage toward it as far as the next place it could have gone another way, or to the cell itself if that comes first. A tap on a cell of the line cuts the line back to it. It begins the line when the tap is on the start. It never decides a fork for the player.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, newMazeGame, tapMaze } 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(tapMaze(game,maze.start).path);
[ 6 ]

What it prints (run when this page was built)

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