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

keptViewfunction

A view kept where some of the board can be seen: its middle never leaves the area (with a margin).

Import it

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

Definition

function keptView(view: View, box: ViewBox, pad?: number): View

Parameters

NameTypeDescription
viewView

The current pan and scale.

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.

Returns

View

A view kept where some of the board can be seen: its middle never leaves the area (with a margin).

Examples

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