symmetryKey関数
リファレンスの説明と例は英語です。見出しと目次は日本語です。
A board's identity up to turning and mirroring it: the smallest of the codes of
its eight turns and mirrors, with every piece the water does not go through
(it may face any way) set to one facing. Two boards with the same key are the
same puzzle. solution is the board with its pieces facing as an answer has them.
インポート
import { symmetryKey } from "@johnmorrisdotca/suido";
定義
function symmetryKey(layout: Layout, solution: readonly number[]): string
引数
| 名前 | 型 | 説明 |
|---|---|---|
layout | Layout | The decoded board with its dimensions, pipe masks and rule settings. |
solution | readonly number[] | The solved pipe masks in row-major cell order. |
戻り値
string
A board's identity up to turning and mirroring it: the smallest of the codes of its eight turns and mirrors, with every piece the water does not go through (it may face any way) set to one facing. Two boards with the same key are the same puzzle. solution is the board with its pieces facing as an answer has them.
例
import { SUIDO_5X5 } from "@johnmorrisdotca/suido/levels-5x5";
import { decodeLayout, symmetryKey } from "@johnmorrisdotca/suido";
import { levelSolution } from "@johnmorrisdotca/suido/levels";
const row = SUIDO_5X5[0];
const code = row[0];
const layout = decodeLayout(code)!;
const solution = levelSolution(row)!;
console.log(symmetryKey(layout,solution));5x5:6aaIE56IE57bafd5Ca9BjaaaI出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。