テキサス ホールデム ポーカー ハンドのルックアップ テーブルを作成したいと考えています。現在、私は各カードを表すために素数を使用しており、それらのカードが合計ハンドとして何を表しているかを把握したいと考えています。これは、カードの順番は関係なく、乗算によって一意の番号が得られるためです。ハンド エバリュエーターのことはわかりましたが、彼らはドローなしでハンドの強さを評価するだけで、ハンドを必要な数のカテゴリに分類しません。
例として、次の状況を取り上げます: ハンド: AdKd フロップ: Kc5d3d
(d = ダイヤモンド、c = クラブ、h = ハート、s = スペード) これで、ルックアップ テーブルからペアとフラッシュ ドローが返されます。
これはもっとトリッキーです: ハンド: AhAd フロップ: 5c5h3d
これは、オーバーペアと評価されます。したがって、基本的に、ハンドとフロップを 1 つの数字に結合することはできません。ハンドがフロップとどのように相互作用するかを正確に知りたいからです。
フラッシュまたはフラッシュ ドローが存在するかどうか、およびストレートまたはストレート ドローが存在するかどうかを判断する方法を既に作成しました。その後、スーツはもはや重要ではなく、ペアでないハンドは気にしません。基本的に、ハンドとフロップを表す 2 つの数字が与えられると、ハンド カテゴリが返されます。最後の例では、エースは素数 41 であるため、ハンドの場合は 41*41=1681、ボードの場合は 7*7*3=147 になります。さて、ルックアップ テーブルに移動し、このルックアップ (147, 1681) を入力すると、一定時間で OVERPAIR (または設定した定数) が返されます。
最初にルックアップ テーブルを実装するにはどうすればよいですか? そしてルックアップ機能?(私はすでにフロップとハンドの両方に完全なハッシュ アルゴリズムを使用することを計画していますが、それらを組み合わせる方法はよくわかりません。)