本文へ移動

Tsunagi繋ぎ

同じ印の2つを別々の線で結び、盤を埋めます。収録された問題やシード付きの問題で遊べます。

「つなぎ」は、物をつなぐことを表す言葉です。 名前について(英語)

目次

リファレンス · ルール・解法・生成

cheatLine関数

リファレンスの説明と例は英語です。見出しと目次は日本語です。

CHEAT: one unfinished line drawn for the player, correctly. John, 2026-09-26: beyond Check, which only flashes the unjoined pairs, "a Cheat button that draws one unfinished line correctly", offered only where "Allow cheating" was chosen at set-up. Flow Free's hint does the same — it draws one whole flow.

The line is the lowest-numbered pair not yet joined; where every pair is joined but the board is wrong, the lowest whose line is not the answer's. It is drawn as the answer has it, and any other line in its way is cut back to before the first cell it would share — on a bridge only where both go the same way over it, since two lines may cross there. Null when there is nothing to draw: every line already the answer's. Pure: new lines, the old untouched.

インポート

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

定義

function cheatLine(layout: LinkLayout, lines: Lines, answer: Lines): { lines: Lines; pair: number; } | null

引数

名前型説明
layoutLinkLayout

The decoded native board and its rule settings.

linesLines

The native cell lists for every pair.

answerLines

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

戻り値

{ lines: Lines; pair: number; } | null

The updated lines and helped pair, or null when every pair is already joined.

例

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

const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
const layout = decodeLayout(givens,4)!;
const lines = noLines(layout);
const solvedLines = linesOfAnswer(layout,answer)!;
console.log(cheatLine(layout,lines,solvedLines));
{ lines: [ [ 0, 1, 2, 3 ], [], [], [] ], pair: 0 }

出力(このページを作ったときに実行した結果)

ソースを見るGitHub で編集@johnmorrisdotca/tsunagi 1.7.0 のソースから作成しました。

この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。