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

peelRoundsfunction

The order the arrows come off in if every free one is taken each round, as rounds: the length of this is how many times the board has to be looked at again.

Import it

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

Definition

function peelRounds(board: Pick<ArrowBoard, "w" | "h" | "arrows">): number[][] | null

Parameters

NameTypeDescription
boardPick<ArrowBoard, "w" | "arrows" | "h">

The native arrow board or named maze appearance specified by this signature.

Returns

number[][] | null

The solvable dependency rounds, or null when the arrows form an unremovable cycle.

Examples

import type { ArrowRecipe } from "@johnmorrisdotca/meikyuu";
import { makeArrows, peelRounds } from "@johnmorrisdotca/meikyuu";

const arrowRecipe: ArrowRecipe = {shape:"square",w:5,h:5,longest:3,seed:42};
const arrows = makeArrows(arrowRecipe);
console.log(peelRounds(arrows));
[
  [
    0, 2,  4, 7,
    8, 9, 12
  ],
  [ 3, 5, 6, 11 ],
  [ 1, 10 ]
]

What it prints (run when this page was built)

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