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

autoTurnfunction

auto: turn a maze when that makes it bigger in the room there is. room is the width and height a board may have; ratio the board's width over its height as made (a number the host chose, or the maze's own). A board fills the room as far as its shape allows, so it is the wider-than-tall room that fits a tall maze lying down. A tie, or a gain under a twelfth, leaves it as made.

Import it

import { autoTurn } from "@johnmorrisdotca/meikyuu";

Definition

function autoTurn(box: Box, ratio: number, room: { width: number; height: number; }): Turn

Parameters

NameTypeDescription
boxBox

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

rationumber

The desired display ratio.

room{ width: number; height: number; }

Available viewport width/height, or null before layout.

Returns

Turn

auto: turn a maze when that makes it bigger in the room there is. room is the width and height a board may have; ratio the board's width over its height as made (a number the host chose, or the maze's own). A board fills the room as far as its shape allows, so it is the wider-than-tall room that fits a tall maze lying down. A tie, or a gain under a twelfth, leaves it as made.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { autoTurn, buildMaze } from "@johnmorrisdotca/meikyuu";

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(autoTurn(grid.box,1,{width:390,height:844}));
0

What it prints (run when this page was built)

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