KazuGeometrytype
WHERE EVERYTHING IS IN A DRAWING, so a page of your own can play it: the drawing is a square of
side units, every cell cell units across, and a Towers square sits inside a ring one cell deep
that holds its clues. Pure arithmetic, no page needed.
Import it
import type { KazuGeometry } from "@johnmorrisdotca/kazu/draw";
Definition
type KazuGeometry = {
side: number;
cell: number;
origin: number;
ring: number;
size: number;
corner: (index: number) => {
x: number;
y: number;
};
centre: (index: number) => {
x: number;
y: number;
};
cellAt: (x: number, y: number) => number;
};
Members
| Name | Type | Description |
|---|---|---|
side | number | The side of the drawing, in its own units (the viewBox is |
cell | number | The side of one cell. |
origin | number | Where the grid's top left corner is. |
ring | number | How many cells deep the ring round the grid is: 1 for Towers, which keeps its clues there, 0 for the rest. |
size | number | |
corner | (index: number) => { x: number; y: number; } | The top left corner of a cell. |
centre | (index: number) => { x: number; y: number; } | The middle of a cell. |
cellAt | (x: number, y: number) => number | The cell a point is over, or -1 for a point outside the grid. |
Examples
import type { KazuGeometry } from "@johnmorrisdotca/kazu/draw";
import { kazuGeometry } from "@johnmorrisdotca/kazu/draw";
const value: KazuGeometry = kazuGeometry("number-place",4);
console.log(value);{
side: 420,
cell: 100,
origin: 10,
ring: 0,
size: 4,
corner: [Function: corner],
centre: [Function: centre],
cellAt: [Function: cellAt]
}What it prints (run when this page was built)