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 · Playable boards

pannedByfunction

The view moved so that the board slides by (dx, dy) pixels under the box.

Import it

import { pannedBy } from "@johnmorrisdotca/meikyuu/play";

Definition

function pannedBy(view: View, dx: number, dy: number, box: ViewBox, pad?: number): View

Parameters

NameTypeDescription
viewView

The current pan and scale.

dxnumber

The horizontal pan distance in pixels.

dynumber

The vertical pan distance in pixels.

boxViewBox

The viewport dimensions and logical board bounds, or board bounds specified by the signature.

pad (optional)number

The native SVG or viewport padding in drawing units/pixels specified by the signature.

Returns

View

The view moved so that the board slides by (dx, dy) pixels under the box.

Examples

import type { MazeRecipe } from "@johnmorrisdotca/meikyuu";
import { buildMaze } from "@johnmorrisdotca/meikyuu";
import { fitView, pannedBy } from "@johnmorrisdotca/meikyuu/play";

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 box = {width:390,height:844,area:grid.box};
const view = fitView(box);
console.log(pannedBy(view,10,20,box));
{
  scale: 62.90322580645161,
  x: -0.6000000000000001,
  y: -4.20871794871795
}

What it prints (run when this page was built)

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