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

MixedGametype

The current native maze and arrow states of one mixed puzzle.

Import it

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

Definition

type MixedGame = {
    readonly arrows: ArrowGame;
    readonly maze: MazeGame;
};

Members

NameTypeDescription
arrowsArrowGame
mazeMazeGame

Examples

import type { ArrowRecipe, MazeRecipe, MixedGame, MixedRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, buildMixed, makeArrows, newMixedGame } from "@johnmorrisdotca/meikyuu";

const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const arrowRecipe: ArrowRecipe = {shape:"square",w:5,h:5,longest:3,seed:42};
const arrows = makeArrows(arrowRecipe);
const mixedRecipe: MixedRecipe = {maze:recipe,arrows:arrowRecipe};
const mixed = buildMixed(mixedRecipe);
const mixedGame = newMixedGame(mixed);
const value: MixedGame = mixedGame;
console.log(value);
{
  arrows: {
    board: {
      recipe: [Object],
      w: 5,
      h: 5,
      inShape: [Array],
      arrows: [Array],
      locked: [Array]
    },
    present: [
      true, true, true,
      true, true, true,
      true, true, true,
      true, true, true,
      true
    ],
    hearts: 3,
    heartsAtStart: 3,
    unlocked: true,
    status: 'playing',
    taken: [],
    mistakes: 0
  },
  maze: {
    maze: {
      recipe: [Object],
      grid: [Object],
      links: [Array],
      start: 6,
      goal: 15,
      entrance: null,
      exit: null,
      keys: []
    },
    path: [],
    collected: [],
    solved: false,
    drawing: false,
    strokes: 0,
    undo: [],
    stones: [],
    rules: null
  }
}

What it prints (run when this page was built)

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