オンライン対戦テキサスホールデムポーカー開発記録vol.2

どうも、今回もテキサスホールデムポーカーについての開発会議を行ったので、その内容についてまとめておきたいと思います。

各アクションボタンの出現条件

前提として…

  • C max :自分以外のプレイヤーからテーブルに賭けられたチップの最大金額。0以上の値。
  • C zero :アクションするプレイヤーのテーブルに出したチップの金額。0以上の値。
  • S zero:アクションするプレイヤーのスタック。0以上の値。

ベットボタン

ベットボタンの出現条件

  1. C max = 0

C max = 0ということは、自分のアクションよりも前に、テーブルにチップがかけられていない状況のことになります。結果として、ベットボタンが出現することになります。

ベットボタンの出現しない条件

  1. C max ≠ 0
  2. フォールドしたとき

C max ≠ 0は、自分のアクションよりも前に、1でもチップがかけられている状況をさします。つまり自分の前にベットがあるので、これ以上ベットボタンは出ません。代わりにレイズボタンが出現することになります。

コールボタン

コールボタンの出現条件

  1.   C zero < C max (&)
  2.   C max ≠ 0

コールボタンが出現する条件は、自分のアクションの前にチップがかけられていて、そのチップの額が自分より多い場合です。

コールボタンの出現しない条件

  1. C zero ≧ C max (or)
  2. C max = 0
  3. フォールドしたとき

コールボタンが出現しないのは、テーブルの最大ベットが0の時です。0だとコールではなく、チェックボタンが表示されます。

チェックボタン

チェックボタンの出現条件

  1. C max = 0 (&)
  2. C max = C zero

テーブルの最大ベットが0の時にチェックが表示されます。また例外的に、プリフロップのBBの時、他がコールで回ってきた場合、BBがチェックできるシチュエーションがあります。その場合もチェックボタンが表示されます。

チェックボタンの出現しない条件

  1. C max ≠ 0 (or)
  2. C max ≠ C zero
  3. フォールドしたとき

テーブルにかけられたチップが0でない場合は、チェックボタンは出現しません。コール、レイズが表示されます。

またBBの場合でも、他のプレイヤーがBBのブラインドと同じ金額ではない金額をかけたら、チェックボタンは表示されません。

レイズ

レイズボタンの出現条件

  1. C max ≠ 0 (&)
  2. C max < S zero

テーブルの最大ベットが0でない場合は、レイズボタンが出現します。その時の条件に、テーブルの最大ベットよりも、自分のスタックが大きいという条件が必要です。

レイズボタンの出現しない条件

  1. C max = 0 (or)
  2. C max ≧ S zero
  3. フォールドしたとき

テーブルの最大ベットが0の場合は、レイズではなくベットボタンが出現します。

加えて、テーブルの最大ベットが自分のスタック以上の場合は、レイズすることができないので、レイズボタンは表示されません。

コールのみ表示されます。ただしコールといっても、オールインになります。

MEMO
レイズがあった場合は、各プレイヤーのアクションフラグを立て直す。

フォールド

フォールドボタンの出現条件

  1. フォールドしていない場合

フォールドボタンの出現しない条件

  1. なし

プレイヤーの状態を表すフラグ

  • 「-9」:ゲームへの参加をシステム的に受け付けないようにし、フォールドを繰り返す状態
  • 「-1」:ゲームに参加せず、アクションを受け付けない状態→「フォールド」
  • 「0」:ゲームに参加していて、アクションをまだしていない状態
  • 「1」:ゲームに参加していて、アクションをした状態
  • 「2」:ゲームに参加していて、アクションを受け付けない状態→「オールイン」

まとめ

各アクションボタンの出現条件に付いてまとめました。どのような状況で、レイズできるのか、あるいは、どのような状態でコールできるのか、こういった条件分岐をまとめられたと思います。あとはこれらを各ラウンドごとに、当てはめていくだけです。