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 · Rules, solvers and generation

dragThroughfunction

A drag that jumped several cells between two pointer events (a quick flick): walked one cell at a time along the row, then the column, so a fast finger draws what a slow one would. Stops at the first cell a step refuses.

Import it

import { dragThrough } from "@johnmorrisdotca/tsunagi";

Definition

function dragThrough(layout: LinkLayout, lines: Lines, pair: number, cell: number): Lines

Parameters

NameTypeDescription
layoutLinkLayout

The decoded native board and its rule settings.

linesLines

The native cell lists for every pair.

pairnumber

The zero-based pair index.

cellnumber

The zero-based pointer target cell.

Returns

Lines

A drag that jumped several cells between two pointer events (a quick flick): walked one cell at a time along the row, then the column, so a fast finger draws what a slow one would. Stops at the first cell a step refuses.

Examples

import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { decodeLayout, dragThrough, noLines } from "@johnmorrisdotca/tsunagi";

const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
const lines = noLines(layout);
console.log(dragThrough(layout,lines,0,layout.ends[0][0]));
[ [], [], [], [] ]

What it prints (run when this page was built)

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