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 · SVG grids

marksOffunction

The marks on a maze: the start, the goal or exit, the doors and the keys, as SVG.

Import it

import { marksOf } from "@johnmorrisdotca/meikyuu/draw";

Definition

function marksOf(maze: Maze, collected?: readonly number[]): string

Parameters

NameTypeDescription
mazeMaze

The valid flat/surface maze or required maze-core fields.

collected (optional)readonly number[]

The keys already collected.

Returns

string

The marks on a maze: the start, the goal or exit, the doors and the keys, as SVG.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze } from "@johnmorrisdotca/meikyuu";
import { marksOf } from "@johnmorrisdotca/meikyuu/draw";

const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
console.log(marksOf(maze));
<circle class="mk-start" data-mark="start" cx="1.5" cy="1.5" r="0.3" stroke-width="0.08"/><g data-mark="goal"><circle class="mk-goal" cx="0.5" cy="3.5" r="0.3" stroke-width="0.08"/><circle class="mk-goal" cx="0.5" cy="3.5" r="0.14" fill="none" stroke-width="0.07"/></g>

What it prints (run when this page was built)

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