やり方
コンピューターの手を進める
コンピューターの手を取得して進め、順番以外の割り込みを扱い、コンピューターが見る情報を確認します。
プレイ中にだけ聞く
hitotsuComputerは現在のプレイヤーが出せる手を選びます。ゲームを進めたり、タイマーを動かしたりはしません。その手をルールの関数に渡し、もう一度phaseを確認します。
import { hitotsuComputer, playHitotsu, startHitotsu } from "@johnmorrisdotca/hitotsu";
let game = startHitotsu(1, ["Aki", "Ben"], 42)!;
for (let turns = 0; turns < 20 && game.phase === "playing"; turns += 1) {
const next = playHitotsu(game, hitotsuComputer(game));
if (next === null) throw new Error("Unexpected illegal computer move");
game = next;
}
console.log(game.phase, game.moves.length);over 12順番以外の手
hitotsuComputerJumpは割り込みが有効で一致するカードがある場合だけ手を返し、それ以外はnullです。movesForとplayableForは席ごとの選択肢を返します。共有テーブルでは割り込みを無効にします。
コンピューターが見るもの
hitotsuViewには自分の手札、公開の枚数、現在の色、可能な手が入ります。同じゲームには同じ判断をします。表示の待ち時間はテーブルのcomputerMsで指定し、基本エンジンは自動で進めません。
この日本語は、まだ日本語を母語とする方の確認を受けていません。訂正を歓迎します。