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 · Surface maze rules and geometry

openingTurnfunction

A view of the solid to begin with: the cell faces the viewer, then the solid is tipped a little so that its depth shows and its neighbours on the near side can be seen. A shape with a way up (a heart, a star) is turned about its vertical axis only, so that it is seen upright, with the cell on the near side; and a solid with parts that hide parts is given a view in which the cell is not hidden, the first of a few tried.

Import it

import { openingTurn } from "@johnmorrisdotca/meikyuu/3d";

Definition

function openingTurn(grid: SolidGrid, cell: number): Quat

Parameters

NameTypeDescription
gridSolidGrid

The valid native flat or surface cell graph.

cellnumber

A zero-based native cell index.

Returns

Quat

A view of the solid to begin with: the cell faces the viewer, then the solid is tipped a little so that its depth shows and its neighbours on the near side can be seen. A shape with a way up (a heart, a star) is turned about its vertical axis only, so that it is seen upright, with the cell on the near side; and a solid with parts that hide parts is given a view in which the cell is not hidden, the first of a few tried.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze } from "@johnmorrisdotca/meikyuu";
import type { SolidRecipe } from "@johnmorrisdotca/meikyuu/3d";
import { buildSolidMaze, openingTurn } from "@johnmorrisdotca/meikyuu/3d";

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 solidRecipe: SolidRecipe = {kind:"cube",n:2,algorithm:"backtracker",seed:42};
const solid = buildSolidMaze(solidRecipe);
const solidGrid = solid.grid;
console.log(openingTurn(solidGrid,solid.start));
[
  -0.17928918071730188,
  0.4989752610864932,
  -0.1063528068344438,
  0.841170707395247
]

What it prints (run when this page was built)

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