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

carveMazefunction

The open neighbours of every cell, for a perfect maze of the grid made by this algorithm from this stream.

Import it

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

Definition

function carveMaze(grid: CellGraph, algorithm: MeikyuuAlgorithm, random: Random): Links

Parameters

NameTypeDescription
gridCellGraph

The valid native flat or surface cell graph.

algorithm"backtracker" | "hunt" | "growing" | "prim" | "kruskal" | "wilson" | "eller"

The native maze-carving algorithm.

randomRandom

A random source returning values in [0,1).

Returns

Links

The open neighbours of every cell, for a perfect maze of the grid made by this algorithm from this stream.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, carveMaze, seededRandom } from "@johnmorrisdotca/meikyuu";

const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const grid = maze.grid;
console.log(carveMaze(grid,"backtracker",seededRandom(42)).length);
25

What it prints (run when this page was built)

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