本文へ移動

Tsunagi繋ぎ

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

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

目次

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

ReducedCandidate型

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

What a made board has besides its lines.

インポート

import type { ReducedCandidate } from "@johnmorrisdotca/tsunagi";

定義

type ReducedCandidate = LinkCandidate & {
    portals: number;
    waypoints: number;
    wrap: boolean;
    blocked: number;
};

メンバー

名前型説明
layoutstring
answerstring
pairsnumber
nodesnumber

Positions the solver looked at to prove the answer is the only one.

branchesnumber

Positions where it had to try more than one way: how much guessing the level asks for.

turnsnumber

Turns in the answer's lines, over all of them: how much the lines wind.

keystring

The layout in its one spelling over all eight turns and mirrors, so two levels are never the same board.

portalsnumber
waypointsnumber
wrapboolean
blockednumber

例

import { TSUNAGI_4 } from "@johnmorrisdotca/tsunagi/levels-4";
import { decodeLayout, symmetryKey, turnsIn } from "@johnmorrisdotca/tsunagi";
import type { ReducedCandidate } from "@johnmorrisdotca/tsunagi";

const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
const layout = decodeLayout(givens,4)!;
const value: ReducedCandidate = {...{layout:givens,answer,pairs:layout.ends.length,nodes:1,branches:0,turns:turnsIn(answer,layout),key:symmetryKey(givens,4)},portals:0,waypoints:0,wrap:false,blocked:0};
console.log(value);
{
  layout: 'A..AB..BC..CD..D',
  answer: 'AAAABBBBCCCCDDDD',
  pairs: 4,
  nodes: 1,
  branches: 0,
  turns: 0,
  key: 'A..AB..BC..CD..D',
  portals: 0,
  waypoints: 0,
  wrap: false,
  blocked: 0
}

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

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

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