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

sparseCandidatefunction

One sparse candidate level, or null. From a filling proved to have one answer, lines are joined one join at a time, in a random order, and a join is kept only while the board still has exactly one answer — so what is left is as few lines as this filling allows without a second answer creeping in. A board that does not get down to sparseMost is dropped.

Import it

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

Definition

function sparseCandidate(size: number, random: Random, budget: number): LinkCandidate | null

Parameters

NameTypeDescription
sizenumber

The number of cells on each side of the board.

randomRandom

A reproducible random source returning values in [0,1).

budgetnumber

The maximum search-work budget; exhaustion must be treated as inconclusive.

Returns

LinkCandidate | null

One sparse candidate level, or null. From a filling proved to have one answer, lines are joined one join at a time, in a random order, and a join is kept only while the board still has exactly one answer — so what is left is as few lines as this filling allows without a second answer creeping in. A board that does not get down to sparseMost is dropped.

Examples

import { seededRandom, sparseCandidate } from "@johnmorrisdotca/tsunagi";

console.log(sparseCandidate(4,seededRandom(42),20000));

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