crazyPlayable関数
リファレンスの説明と例は英語です。見出しと目次は日本語です。
The cards the player to move may play now: after drawing, only the card drawn.
インポート
import { crazyPlayable } from "@johnmorrisdotca/toranpu/crazy-eights";
定義
function crazyPlayable(game: CrazyEightsGame): CardId[]
引数
| 名前 | 型 | 説明 |
|---|---|---|
game | CrazyEightsGame | The current native game; applying a move returns a new state. |
戻り値
string[]
The cards the player to move may play now: after drawing, only the card drawn.
例
import { CARD_GAME_TABLES, newGame, rulesFor } from "@johnmorrisdotca/toranpu";
import { crazyPlayable } from "@johnmorrisdotca/toranpu/crazy-eights";
const names = Array.from({ length: CARD_GAME_TABLES.crazyEights.defaultPlayers }, (_, seat) => `Seat ${seat + 1}`);
let game = newGame("crazyEights", { players: names, seed: 42 })!;
const rules = rulesFor("crazyEights");
for (let setup = 0; setup < 100 && game.phase !== "playing" && game.phase !== "over"; setup += 1) {
const next = rules.play(game, rules.computer(game));
if (next === null) throw new Error("Unexpected illegal setup move");
game = next;
}
if (game.phase !== "playing") throw new Error("Setup did not reach playing");
console.log(crazyPlayable(game));[ '3S' ]出力(このページを作ったときに実行した結果)
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。