本文へ移動

Tsunagi繋ぎ

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

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

目次

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

dragFinger関数

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

A finger over finger, drawing the line of pair, with the reach it had: the lines after it and the reach now. This is dragThrough for a board with portals; on a board without them the reach stays none and it is the same.

インポート

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

定義

function dragFinger(layout: LinkLayout, lines: Lines, pair: number, finger: number, reach?: Reach): { lines: Lines; reach: Reach; }

引数

名前型説明
layoutLinkLayout

The decoded native board and its rule settings.

linesLines

The native cell lists for every pair.

pairnumber

The zero-based pair index.

fingernumber

The current finger target cell.

reach (省略可)Reach

The previous drag direction for continuous pointer movement.

戻り値

{ lines: Lines; reach: Reach; }

A finger over finger, drawing the line of pair, with the reach it had: the lines after it and the reach now. This is dragThrough for a board with portals; on a board without them the reach stays none and it is the same.

例

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

const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
const lines = noLines(layout);
console.log(dragFinger(layout,lines,0,layout.ends[0][0]));
{ lines: [ [], [], [], [] ], reach: { dr: 0, dc: 0 } }

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

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

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