shuffleTiles関数
リファレンスの説明と例は英語です。見出しと目次は日本語です。
SHUFFLE: the tiles left, laid again in the slots they fill, so that play can
go on. Drawn from the tiles themselves and how many shuffles came before
(index), never from Math.random, so a solve replayed on the server — or
a kept game opened again — shuffles to exactly the same tiles.
Laid in reverse, as a deal is, so what is left can be finished whenever the slots allow it. When they do not (two tiles stacked, nothing beside them), the tiles are laid with one matching pair on two free slots, so the next move exists; and where not even two slots are free, no shuffle can help and this answers null.
インポート
import { shuffleTiles } from "@johnmorrisdotca/jarajara";
定義
function shuffleTiles(geometry: MahjongGeometry, cells: MahjongCells, rule: MahjongBonusRule, index: number): MahjongCells | null
引数
| 名前 | 型 | 説明 |
|---|---|---|
geometry | MahjongGeometry | The stacked layout’s covering and side-blocking relationships. |
cells | string | The face-code string in native slot order; dot marks a removed tile. |
rule | MahjongBonusRule | Grouped or identical bonus matching. |
index | number | The shuffle count or slot index specified by the signature. |
戻り値
string | null
The remaining tiles laid again deterministically, or null when no clearable laying can be produced.
例
import { generateAwase } from "@johnmorrisdotca/jarajara/awase";
import { geometryOf, layoutFor, shuffleTiles } from "@johnmorrisdotca/jarajara";
const deal = generateAwase(4,"easy",2026);
const layout = layoutFor(4)!;
const geometry = geometryOf(layout);
const cells = deal.givens;
console.log(shuffleTiles(geometry,cells,"group",1));NBBPDxxD出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。