本文へ移動

Tsunagi繋ぎ

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

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

目次

リファレンス · SVGの盤

lineRuns関数

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

A line as the runs it is drawn in, each a list of points through its cells' middles. On a board that wraps, a step across the join ends one run a cell out beyond the edge (in the ghost) and starts the next a cell out beyond the other edge, so the line is seen to leave and come back. Through a portal the line is two runs: it ends just inside the ring it went into, and the next starts just inside the ring it comes out of, going on the same way.

インポート

import { lineRuns } from "@johnmorrisdotca/tsunagi/draw";

定義

function lineRuns(layout: LinkLayout, geometry: TsunagiGeometry, line: readonly number[]): TsunagiPoint[][]

引数

名前型説明
layoutLinkLayout

The decoded native board and its rule settings.

geometryTsunagiGeometry

The board-to-pixel geometry.

linereadonly number[]

The cell sequence of one native line.

戻り値

TsunagiPoint[][]

A line as the runs it is drawn in, each a list of points through its cells' middles. On a board that wraps, a step across the join ends one run a cell out beyond the edge (in the ghost) and starts the next a cell out beyond the other edge, so the line is seen to leave and come back. Through a portal the line is two runs: it ends just inside the ring it went into, and the next starts just inside the ring it comes out of, going on the same way.

例

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

const givens = TSUNAGI_4[0][0];
const answer = TSUNAGI_4[0][1];
const layout = decodeLayout(givens,4)!;
const solvedLines = linesOfAnswer(layout,answer)!;
const geometry = tsunagiGeometry(layout);
console.log(lineRuns(layout,geometry,solvedLines[0]));
[
  [
    { x: 64, y: 64 },
    { x: 164, y: 64 },
    { x: 264, y: 64 },
    { x: 334, y: 64 }
  ]
]

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

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

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