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

ArrowBoardtype

The native arrow recipe, shape mask, arrow paths and locked flags.

Import it

import type { ArrowBoard } from "@johnmorrisdotca/meikyuu";

Definition

type ArrowBoard = {
    readonly recipe: ArrowRecipe;
    readonly w: number;
    readonly h: number;
    readonly inShape: readonly boolean[];
    readonly arrows: readonly Arrow[];
    readonly locked: readonly boolean[];
};

Members

NameTypeDescription
recipeArrowRecipe
wnumber
hnumber
inShapereadonly boolean[]

Which cells are part of the picture, whether an arrow is on them or not.

arrowsreadonly Arrow[]
lockedreadonly boolean[]

Which arrows are locked: the ones the mixed puzzles hide behind a button.

Examples

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

const arrowRecipe: ArrowRecipe = {shape:"square",w:5,h:5,longest:3,seed:42};
const arrows = makeArrows(arrowRecipe);
const value: ArrowBoard = arrows;
console.log(value);
{
  recipe: { shape: 'square', w: 5, h: 5, longest: 3, seed: 42 },
  w: 5,
  h: 5,
  inShape: [
    true, true, true, true, true,
    true, true, true, true, true,
    true, true, true, true, true,
    true, true, true, true, true,
    true, true, true, true, true
  ],
  arrows: [
    { cells: [Array], dir: 1 },
    { cells: [Array], dir: 3 },
    { cells: [Array], dir: 0 },
    { cells: [Array], dir: 0 },
    { cells: [Array], dir: 0 },
    { cells: [Array], dir: 3 },
    { cells: [Array], dir: 0 },
    { cells: [Array], dir: 2 },
    { cells: [Array], dir: 1 },
    { cells: [Array], dir: 3 },
    { cells: [Array], dir: 2 },
    { cells: [Array], dir: 2 },
    { cells: [Array], dir: 3 }
  ],
  locked: [
    false, false, false,
    false, false, false,
    false, false, false,
    false, false, false,
    false
  ]
}

What it prints (run when this page was built)

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