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

fitViewfunction

The view that shows the board as a mode says, with a margin of pad cells: centred where it fits, and at the top or left where it does not.

Import it

import { fitView } from "@johnmorrisdotca/meikyuu/play";

Definition

function fitView(box: ViewBox, pad?: number, mode?: FitMode): View

Parameters

NameTypeDescription
boxViewBox

The viewport dimensions and logical board bounds, or board bounds specified by the signature.

pad (optional)number

The native SVG or viewport padding in drawing units/pixels specified by the signature.

mode (optional)"both" | "width" | "height"

Fit both dimensions, width only or height only.

Returns

View

The view that shows the board as a mode says, with a margin of pad cells: centred where it fits, and at the top or left where it does not.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze } from "@johnmorrisdotca/meikyuu";
import { fitView } 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};
console.log(fitView(box));
{
  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.