Reference · Mazes, arrows and mixed boards
MixedRecipetype
THE MIXED PUZZLE: an arrow board with some arrows locked, and a labyrinth beside it with an unlock button hidden deep inside. The labyrinth is an ordinary maze played to its goal (the button); reaching the button unlocks every locked arrow at once. The arrows are the puzzle (clear them all, with the hearts you have); the labyrinth is the way to the arrows that are in the way.
A locked arrow can be in the way of others, so the puzzle cannot be finished without the button, and
it can always be: the arrows can all be cleared once they are unlocked, and the labyrinth can always
be solved. A level is its two recipes, written <arrows>|<maze>.
Import it
import type { MixedRecipe } from "@johnmorrisdotca/meikyuu";
Definition
type MixedRecipe = {
readonly arrows: ArrowRecipe;
readonly maze: MazeRecipe;
};
Members
| Name | Type | Description |
|---|---|---|
arrows | ArrowRecipe | |
maze | MazeRecipe |
Examples
import type { ArrowRecipe, MazeRecipe, MixedRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, makeArrows } 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 value: MixedRecipe = mixedRecipe;
console.log(value);{
maze: {
shape: 'square',
w: 5,
h: 5,
algorithm: 'backtracker',
mode: 'to-goal',
seed: 42
},
arrows: { shape: 'square', w: 5, h: 5, longest: 3, seed: 42 }
}What it prints (run when this page was built)