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 · Playable boards

Viewtype

A BOARD LOOKED AT THROUGH A BOX, which may be zoomed in until a cell is as big as a thumb and moved about: the arithmetic of the view, without a page. A view is the point of the board at the box's top left corner and how many pixels a cell takes (scale); the board is drawn by setting an SVG's viewBox to what viewBoxOf says. Everything here is a pure function of numbers.

Import it

import type { View } from "@johnmorrisdotca/meikyuu/play";

Definition

type View = {
    x: number;
    y: number;
    scale: number;
};

Members

NameTypeDescription
xnumber
ynumber
scalenumber

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze } from "@johnmorrisdotca/meikyuu";
import { fitView } from "@johnmorrisdotca/meikyuu/play";
import type { View } from "@johnmorrisdotca/meikyuu/play";

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 box = {width:390,height:844,area:grid.box};
const view = fitView(box);
const value: View = view;
console.log(value);
{
  scale: 62.90322580645161,
  x: -0.6000000000000001,
  y: -4.20871794871795
}

What it prints (run when this page was built)

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