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

cellsAlongfunction

The cells a pointer enters moving from one shown point to the next: the straight path between them cut into steps of a third of a cell and each step carried back into the maze. Every cell it passes is offered in order, so a fast finger skips none. The board and the tests use this one function, so a line drawn on a turned board is exactly the line drawn on one that is not.

Import it

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

Definition

function cellsAlong(grid: Grid, turn: Turn, from: Point, to: Point): number[]

Parameters

NameTypeDescription
gridGrid

The valid native flat or surface cell graph.

turnTurn

The native quarter-turn setting.

fromPoint

The start cell or pointer point specified by the signature.

toPoint

The destination pointer point specified by the signature.

Returns

number[]

The cells a pointer enters moving from one shown point to the next: the straight path between them cut into steps of a third of a cell and each step carried back into the maze. Every cell it passes is offered in order, so a fast finger skips none. The board and the tests use this one function, so a line drawn on a turned board is exactly the line drawn on one that is not.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, cellsAlong, solutionOf } 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 route = solutionOf(maze);
console.log(cellsAlong(grid,0,grid.centres[route[0]],grid.centres[route[1]]));
[ 6, 5 ]

What it prints (run when this page was built)

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