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

turnForfunction

Whether to turn a maze box (as made) for an orientation. portrait turns a wide maze upright and landscape lays a tall one down; a maze that is as wide as it is tall (within a tenth) is never turned by either. auto has no container to look at here, so it leaves the maze as made: see autoTurn.

Import it

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

Definition

function turnFor(orientation: MeikyuuOrientation, box: Box): Turn

Parameters

NameTypeDescription
orientation"portrait" | "landscape" | "auto"

Portrait, landscape or automatic native orientation.

boxBox

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

Returns

Turn

Whether to turn a maze box (as made) for an orientation. portrait turns a wide maze upright and landscape lays a tall one down; a maze that is as wide as it is tall (within a tenth) is never turned by either. auto has no container to look at here, so it leaves the maze as made: see autoTurn.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, turnFor } 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(turnFor("portrait",grid.box));
0

What it prints (run when this page was built)

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