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

canLayStonefunction

Whether a stone may be laid on a cell now, and if not, why not. A stone already there is has-stone: ask takeStone for it.

Import it

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

Definition

function canLayStone(game: MazeGame<MazeCore>, cell: number): StoneVerdict

Parameters

NameTypeDescription
gameMazeGame<MazeCore>

The current immutable native game state.

cellnumber

A zero-based native cell index.

Returns

StoneVerdict

Whether a stone may be laid on a cell now, and if not, why not. A stone already there is has-stone: ask takeStone for it.

Examples

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

const recipe: MazeRecipe = {shape:"square",w:5,h:5,algorithm:"backtracker",mode:"to-goal",seed:42};
const maze = buildMaze(recipe);
const stoneGame = newMazeGame(maze,{limit:5,reach:1});
console.log(canLayStone(stoneGame,maze.goal));
no-line

What it prints (run when this page was built)

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