テキサスホールデムゲーム(試作品)

確率論

 テキサスホールデムのAIやゲームを開発してみたいということを漠然と書いたが、試しに投稿で書いたゲームの外枠を作ってみた。敵プレイヤーは全く思考をしておらず、一定の確率でランダムにRaise,Call,Foldを選択しているだけである。手札の勝利確率を適切に評価すれば、勝利できるということであり、手札の勝利確率の推測がおぼつかない入門レベルのプレイヤー(ちなみに筆者はド素人どころか実際に対人でプレイしたことがない)であれば、これでも相応に楽しめるかもしれない。イカサマ機能としてシミュレーションによる勝利確率も表示することができるので、ゲームの雰囲気を見てみるのにちょうどよいかもしれない。将来的には、敵プレイヤーに合理的な判断を行うアルゴリズムを組み込んでいくつもりである。

 操作方法はスタートボタンを押すとゲームが開始され、あとはRaise,Call,Foldをポチポチするだけである。レイズはミニマムレイズの×倍(コンボボックスの値)で計算する。ラウンドが終わると自動的に次のラウンドに行くので、延々とゲームが続く。設定を変えたい場合やリセットしたい場合はブラウザの更新ボタンを押せばよい。データは何も保存していないので、更新したりページを閉じると最初からやり直しになる。Order欄の♢がそのプレイヤーのターンを表している記号であり、自分の欄に♢が来たらボタンを押すことでゲームが進行する。

 プレイヤーの数を固定にすると、敵プレイヤーはチップがユーザの半分以下になると退席して、別のプレイヤーに置き換わる。プレイヤーの数を変動にすると、チップが減ったり、回数を多くプレイすると敵プレイヤーはランダムに退席し、新しい敵プレイヤーがランダムに現れる。確率的に大体3~7人ぐらいになる。オールインさせて敵を全部倒すと、また2人から少しずつプレイヤーが増えていく。Showdownの際、役(Hand)が出るが略記は以下のとおりである。HC: High Card, 1P: One Pair, 2P: Two Pair, 3C: Three Cards, ST: Straight, FL: Flush, FH: Full House, 4C:Four Cards, SF: Straight Flush(Royal Straight Flush含む)。