本文へ移動

Tsunagi繋ぎ

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

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

目次

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

encodeLayout関数

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

A layout's code, from its cells, walls, waypoints and whether it wraps: the inverse of decodeLayout.

インポート

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

定義

function encodeLayout(cells: readonly number[], walls?: Iterable<string>, more?: { waypoints?: ReadonlyMap<number, number>; wrap?: boolean; hex?: boolean; sparse?: boolean; portals?: Iterable<readonly [number, number]>; strokes?: number | null; explosions?: LinkLayout["explosions"]; }): string

引数

名前型説明
cellsreadonly number[]

The row-major decoded cell values.

walls (省略可)Iterable<string>

The blocked undirected edges as a-b strings.

more (省略可){ waypoints?: ReadonlyMap<number, number>; wrap?: boolean; hex?: boolean; sparse?: boolean; portals?: Iterable<readonly [number, number]>; strokes?: number | null; explosions?: LinkLayout["explosions"]; }

Optional suffix rules and decorations for the encoded layout.

戻り値

string

A layout's code, from its cells, walls, waypoints and whether it wraps: the inverse of decodeLayout.

例

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

const givens = TSUNAGI_4[0][0];
const layout = decodeLayout(givens,4)!;
console.log(encodeLayout(layout.cells,layout.walls));
A..AB..BC..CD..D

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

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

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