Reference · Mazes, arrows and mixed boards
newMixedGamefunction
Create the native game states for both layers of a mixed board.
Import it
import { newMixedGame } from "@johnmorrisdotca/meikyuu";
Definition
function newMixedGame(board: MixedBoard): MixedGame
Parameters
| Name | Type | Description |
|---|---|---|
board | MixedBoard | The native arrow board or named maze appearance specified by this signature. |
Returns
MixedGame
Create the native game states for both layers of a mixed board.
Examples
import type { ArrowRecipe, MazeRecipe, MixedRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze, buildMixed, makeArrows, newMixedGame } 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);
console.log(newMixedGame(mixed));{
arrows: {
board: {
recipe: [Object],
w: 5,
h: 5,
inShape: [Array],
arrows: [Array],
locked: [Array]
},
present: [
true, true, true,
true, true, true,
true, true, true,
true, true, true,
true
],
hearts: 3,
heartsAtStart: 3,
unlocked: true,
status: 'playing',
taken: [],
mistakes: 0
},
maze: {
maze: {
recipe: [Object],
grid: [Object],
links: [Array],
start: 6,
goal: 15,
entrance: null,
exit: null,
keys: []
},
path: [],
collected: [],
solved: false,
drawing: false,
strokes: 0,
undo: [],
stones: [],
rules: null
}
}What it prints (run when this page was built)