どうも、今回もテキサスホールデムポーカーについての開発会議を行ったので、その内容についてまとめておきたいと思います。
各アクションボタンの出現条件
前提として…
- C max :自分以外のプレイヤーからテーブルに賭けられたチップの最大金額。0以上の値。
- C zero :アクションするプレイヤーのテーブルに出したチップの金額。0以上の値。
- S zero:アクションするプレイヤーのスタック。0以上の値。
ベットボタン
ベットボタンの出現条件
- C max = 0
C max = 0ということは、自分のアクションよりも前に、テーブルにチップがかけられていない状況のことになります。結果として、ベットボタンが出現することになります。
ベットボタンの出現しない条件
- C max ≠ 0
- フォールドしたとき
C max ≠ 0は、自分のアクションよりも前に、1でもチップがかけられている状況をさします。つまり自分の前にベットがあるので、これ以上ベットボタンは出ません。代わりにレイズボタンが出現することになります。
コールボタン
コールボタンの出現条件
- C zero < C max (&)
- C max ≠ 0
コールボタンが出現する条件は、自分のアクションの前にチップがかけられていて、そのチップの額が自分より多い場合です。
コールボタンの出現しない条件
- C zero ≧ C max (or)
- C max = 0
- フォールドしたとき
コールボタンが出現しないのは、テーブルの最大ベットが0の時です。0だとコールではなく、チェックボタンが表示されます。
チェックボタン
チェックボタンの出現条件
- C max = 0 (&)
- C max = C zero
テーブルの最大ベットが0の時にチェックが表示されます。また例外的に、プリフロップのBBの時、他がコールで回ってきた場合、BBがチェックできるシチュエーションがあります。その場合もチェックボタンが表示されます。
チェックボタンの出現しない条件
- C max ≠ 0 (or)
- C max ≠ C zero
- フォールドしたとき
テーブルにかけられたチップが0でない場合は、チェックボタンは出現しません。コール、レイズが表示されます。
またBBの場合でも、他のプレイヤーがBBのブラインドと同じ金額ではない金額をかけたら、チェックボタンは表示されません。
レイズ
レイズボタンの出現条件
- C max ≠ 0 (&)
- C max < S zero
テーブルの最大ベットが0でない場合は、レイズボタンが出現します。その時の条件に、テーブルの最大ベットよりも、自分のスタックが大きいという条件が必要です。
レイズボタンの出現しない条件
- C max = 0 (or)
- C max ≧ S zero
- フォールドしたとき
テーブルの最大ベットが0の場合は、レイズではなくベットボタンが出現します。
加えて、テーブルの最大ベットが自分のスタック以上の場合は、レイズすることができないので、レイズボタンは表示されません。
コールのみ表示されます。ただしコールといっても、オールインになります。
レイズがあった場合は、各プレイヤーのアクションフラグを立て直す。
フォールド
フォールドボタンの出現条件
- フォールドしていない場合
フォールドボタンの出現しない条件
- なし
プレイヤーの状態を表すフラグ
- 「-9」:ゲームへの参加をシステム的に受け付けないようにし、フォールドを繰り返す状態
- 「-1」:ゲームに参加せず、アクションを受け付けない状態→「フォールド」
- 「0」:ゲームに参加していて、アクションをまだしていない状態
- 「1」:ゲームに参加していて、アクションをした状態
- 「2」:ゲームに参加していて、アクションを受け付けない状態→「オールイン」
まとめ
各アクションボタンの出現条件に付いてまとめました。どのような状況で、レイズできるのか、あるいは、どのような状態でコールできるのか、こういった条件分岐をまとめられたと思います。あとはこれらを各ラウンドごとに、当てはめていくだけです。