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

candidatefunction

One candidate level, or null: a filling, its layout, and the solver's proof that the layout has exactly one answer — the filling's own. A layout the solver cannot settle inside budget positions is dropped rather than trusted.

Import it

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

Definition

function candidate(size: number, random: Random, longest: number, 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).

longestnumber

The maximum desired path length in cells.

budgetnumber

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

Returns

LinkCandidate | null

One candidate level, or null: a filling, its layout, and the solver's proof that the layout has exactly one answer — the filling's own. A layout the solver cannot settle inside budget positions is dropped rather than trusted.

Examples

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

console.log(candidate(4,seededRandom(42),8,20000));

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