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
| Name | Type | Description |
|---|---|---|
layout | LinkLayout | The decoded native board and its rule settings. |
lines | Lines | The native cell lists for every pair. |
pair | number | The zero-based pair index. |
cell | number | 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)