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

withArrowsfunction

The arrows changed.

Import it

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

Definition

function withArrows(game: MixedGame, arrows: ArrowGame): MixedGame

Parameters

NameTypeDescription
gameMixedGame

The current immutable native game state.

arrowsArrowGame

The replacement native arrow state.

Returns

MixedGame

The arrows changed.

Examples

import type { ArrowRecipe, MazeRecipe, MixedRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, buildMixed, clearArrows, makeArrows, newMixedGame, withArrows } from "@johnmorrisdotca/meikyuu";

const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const arrowRecipe: ArrowRecipe = {shape:"square",w:5,h:5,longest:3,seed:42};
const arrows = makeArrows(arrowRecipe);
const mixedRecipe: MixedRecipe = {maze:recipe,arrows:arrowRecipe};
const mixed = buildMixed(mixedRecipe);
const mixedGame = newMixedGame(mixed);
console.log(withArrows(mixedGame,clearArrows(mixedGame.arrows)).arrows.status);
cleared

What it prints (run when this page was built)

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