Skip to the content

Tsunagi繋ぎ

Join each pair with a separate line and fill the board, through fixed levels or seeded puzzles.

Tsunagi means joining in Japanese. About the name

Contents

Reference · SVG board

cellAtPointfunction

The cell under a point of the drawing, or null where there is none: off the board, in the frame, on a hexagon's missing corner. On a board that wraps the ghost cells are the real ones they show. A point is in the nearest cell's hexagon on a honeycomb, which is the one it is in.

Import it

import { cellAtPoint } from "@johnmorrisdotca/tsunagi/draw";

Definition

function cellAtPoint(geometry: TsunagiGeometry, x: number, y: number): number | null

Parameters

NameTypeDescription
geometryTsunagiGeometry

The board-to-pixel geometry.

xnumber

The horizontal point, edge-code or coordinate value specified by this signature.

ynumber

The vertical point, edge-code or coordinate value specified by this signature.

Returns

number | null

The cell under a point of the drawing, or null where there is none: off the board, in the frame, on a hexagon's missing corner. On a board that wraps the ghost cells are the real ones they show. A point is in the nearest cell's hexagon on a honeycomb, which is the one it is in.

Examples

import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { decodeLayout } from "@johnmorrisdotca/tsunagi";
import { cellAtPoint, tsunagiGeometry } from "@johnmorrisdotca/tsunagi/draw";

const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
const geometry = tsunagiGeometry(layout);
console.log(cellAtPoint(geometry,geometry.centre(0).x,geometry.centre(0).y));
0

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/tsunagi 1.7.0.