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

ownersOffunction

The pair whose line (or stone) holds each cell, CELL_EMPTY for none, CELL_BLOCKED where blocked, CELL_BRIDGE on a bridge (two lines may be there).

Import it

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

Definition

function ownersOf(layout: LinkLayout, lines: Lines): number[]

Parameters

NameTypeDescription
layoutLinkLayout

The decoded native board and its rule settings.

linesLines

The native cell lists for every pair.

Returns

number[]

The pair whose line (or stone) holds each cell, CELL_EMPTY for none, CELL_BLOCKED where blocked, CELL_BRIDGE on a bridge (two lines may be there).

Examples

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

const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
const lines = noLines(layout);
console.log(ownersOf(layout,lines));
[
   0, -1, -1,  0,  1, -1,
  -1,  1,  2, -1, -1,  2,
   3, -1, -1,  3
]

What it prints (run when this page was built)

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