本文へ移動

Jarajaraジャラジャラ

麻雀牌を描き、手牌や積み重ねた盤を配置し、シード付きの「合わせ」をひとりでも対戦卓でも遊べます。

「ジャラジャラ」は麻雀牌が触れ合う音を表す言葉です。 名前について(英語)

目次

リファレンス · 牌・配置・配り方

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

引数

名前型説明
geometryMahjongGeometry

The stacked layout’s covering and side-blocking relationships.

cellsstring

The face-code string in native slot order; dot marks a removed tile.

ruleMahjongBonusRule

Grouped or identical bonus matching.

indexnumber

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

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

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

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