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

coverageOffunction

How much of a map an answer covers. points is where each cell lies (two numbers for a flat maze, three for a solid); route is the cells the answer draws, the way to the goal and the way to each key. Pure.

Import it

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

Definition

function coverageOf(points: readonly (readonly number[])[], route: readonly number[]): MazeCoverage

Parameters

NameTypeDescription
pointsreadonly (readonly number[])[]

Logical cell-centre coordinates.

routereadonly number[]

The cell-index route whose coverage is measured.

Returns

MazeCoverage

How much of a map an answer covers. points is where each cell lies (two numbers for a flat maze, three for a solid); route is the cells the answer draws, the way to the goal and the way to each key. Pure.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, coverageOf, solutionOf } 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;
const route = solutionOf(maze);
console.log(coverageOf(grid.centres,route));
{ bbox: 1, zones: 1, cover: 1, factor: 1 }

What it prints (run when this page was built)

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