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

dragGamefunction

The finger carried into a cell: the line grows, shortens or cuts another back, as the rules say.

Import it

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

Definition

function dragGame(game: TsunagiGame, cell: number): TsunagiGame

Parameters

NameTypeDescription
gameTsunagiGame

The current immutable native puzzle state.

cellnumber

The zero-based pointer target cell.

Returns

TsunagiGame

The finger carried into a cell: the line grows, shortens or cuts another back, as the rules say.

Examples

import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { decodeLayout, dragGame, linesOfAnswer, newTsunagiGame, noLines, pressGame } from "@johnmorrisdotca/tsunagi";

const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
const layout = decodeLayout(givens,4)!;
const lines = noLines(layout);
const solvedLines = linesOfAnswer(layout,answer)!;
const game = newTsunagiGame(givens,4,{answer,cheats:true})!;
console.log(dragGame(pressGame(game,layout.ends[0][0]),solvedLines[0][1]).lines);
[ [ 0, 1 ], [], [], [] ]

What it prints (run when this page was built)

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