本文へ移動

Hitotsu一つ

色か数字をそろえて出し、手札が1枚になったら声をかけます。クラシックやパーティーのルールで、コンピューターや共有のテーブルで遊べます。

「ヒトツ」は「一つ」。手札が1枚になったときに言う言葉です。 名前について(英語)

目次

やり方

コンピューターの手を進める

コンピューターの手を取得して進め、順番以外の割り込みを扱い、コンピューターが見る情報を確認します。

プレイ中にだけ聞く

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で指定し、基本エンジンは自動で進めません。

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

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