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

decodeLinesfunction

Lines read back from a progress code against the layout they were drawn on, or null for a code that does not describe lines on it: a start that is not a stone, a step from nowhere, a line through another pair's stone, a cell two lines claim.

Import it

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

Definition

function decodeLines(layout: LinkLayout, code: string): Lines | null

Parameters

NameTypeDescription
layoutLinkLayout

The decoded native board and its rule settings.

codestring

The native layout, answer or line-progress string.

Returns

Lines | null

Lines read back from a progress code against the layout they were drawn on, or null for a code that does not describe lines on it: a start that is not a stone, a step from nowhere, a line through another pair's stone, a cell two lines claim.

Examples

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

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

What it prints (run when this page was built)

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