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

measureSolvedfunction

The same measures from a solve already made — how many positions and branches the solver took — so a caller that has just proved a level (the level tests) does not solve it a second time to measure it.

Import it

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

Definition

function measureSolved(layout: string, answer: string, size: number, solved: { nodes: number; branches: number; }): LevelMeasure | null

Parameters

NameTypeDescription
layoutstring

The decoded native board and its rule settings.

answerstring

The native complete answer string or solved lines specified by the signature.

sizenumber

The number of cells on each side of the board.

solved{ nodes: number; branches: number; }

Solved level numbers, or the solver metrics specified by this signature.

Returns

LevelMeasure | null

The native level measures, or null for an invalid layout or answer.

Examples

import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { measureSolved } from "@johnmorrisdotca/tsunagi";

const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
console.log(measureSolved(givens,answer,4,{nodes:1,branches:0}));
{
  pairs: 4,
  turns: 0,
  longest: 4,
  empties: 8,
  forcedShare: 1,
  nodes: 1,
  branches: 0
}

What it prints (run when this page was built)

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