本文へ移動

Tsunagi繋ぎ

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

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

目次

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

layoutOf関数

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

The layout and answer the lines leave: their ends as stones, lettered in reading order, with whatever else the board has — blocked cells, bridges (in two lines' paths, drawn +) and walls.

インポート

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

定義

function layoutOf(size: number, paths: readonly number[][], extras?: LinkExtras): { layout: string; answer: string; }

引数

名前型説明
sizenumber

The number of cells on each side of the board.

pathsreadonly number[][]

The complete grid-filling cell paths.

extras (省略可)LinkExtras

Optional blocked cells and native twists.

戻り値

{ layout: string; answer: string; }

The layout and answer the lines leave: their ends as stones, lettered in reading order, with whatever else the board has — blocked cells, bridges (in two lines' paths, drawn +) and walls.

例

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

const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
const layout = decodeLayout(givens,4)!;
const solvedLines = linesOfAnswer(layout,answer)!;
console.log(layoutOf(4,solvedLines.map(line=>[...line])));
{ layout: 'A..AB..BC..CD..D', answer: 'AAAABBBBCCCCDDDD' }

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

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

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