doorPlacefunction
Where a door is: the middle of its gap in the wall, and the way out through it as a unit vector.
Import it
import { doorPlace } from "@johnmorrisdotca/meikyuu/draw";
Definition
function doorPlace(grid: Grid, door: Door): { x: number; y: number; dx: number; dy: number; }
Parameters
| Name | Type | Description |
|---|---|---|
grid | Grid | The valid native flat or surface cell graph. |
door | Door | The cell and boundary side of an entrance or exit. |
Returns
{ x: number; y: number; dx: number; dy: number; }
Where a door is: the middle of its gap in the wall, and the way out through it as a unit vector.
Examples
import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { boundaryCells, buildMaze } from "@johnmorrisdotca/meikyuu";
import { doorPlace } from "@johnmorrisdotca/meikyuu/draw";
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 cell = boundaryCells(grid)[0];
const door = {cell,side:grid.sides[cell].findIndex(side=>side.to<0)};
console.log(doorPlace(grid,door));{ x: 0.5, y: 0, dx: 0, dy: -1 }What it prints (run when this page was built)