やり方
保存・再開・書き出し
ゲームを設定と手順として保存し、手順を再実行して読み戻し、JSON、コード、テキスト、CSVに書き出します。
設定と手順を保存する
保存形式にはゲームの種類、長さ、名前、コンピューターの席、シード、各手が入ります。読み取りではゲームを作り直し、すべての手をルールで進めます。渡された手札や得点を信用せず、不正な手順を拒否します。
import { fromCode, fromJSON, newGame, rulesFor, toCSV, toCode, toJSON } from "@johnmorrisdotca/toranpu";
const game = newGame("war", { players: ["Aki", "Ben"], seed: 42 })!;
const next = rulesFor("war").play(game, { turn: true })!;
console.log(fromJSON(toJSON("war", next))?.kind);
console.log(fromCode(toCode("war", next))?.kind);
console.log(toCSV("war", next));
console.log(fromJSON("not JSON"));war
war
move,seat,player,action,cards,detail,text
1,1,Aki,turn,,"{""turn"":true}",turns the cards over
null書き出しを選ぶ
toJSONは構造化した記録、toCodeは短いコードです。fromJSONとfromCodeは種類付きのReadGameかnullを返します。toTextは選んだ言語で手を読み、toCSVは表計算向けの行を書きます。書き出しと読み込みに形式とCLIの詳しい説明があります。
読めなかった記録
結果を確認してから再開します。nullは形式、ゲーム、設定、手順のいずれかを受け入れられなかったことを示します。シードで配りを、手順でその後の選択を再現します。記録には名前とカードを再構成できる情報が入るので、保存と共有はアプリ側で選びます。
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。