3

C++ を使用して最速のモンテカルロ テキサス ホールデム ハンド アナライザーを作成するために、私は現在ハンド評価のテーマを調べています。

多くの人が知っているかもしれませんが、かなりの数のハンドエバリュエーター、オープンソースがあります。少し考えた後、私は "Two Plus Two hand evaluator" (ツー プラス ツー フォーラムで最初に導入されたのでこの名前が付けられました) に落ち着きました。

これは既知の最速のエバリュエーターの 1 つで、配列ルックアップを使用してハンドの値をすばやく見つけます。

ここで、関数のために、関心のあるカードを含む配列を渡す必要があります。例:

int Cards[] = { 3, 5, 10, 17, 23, 24, 32 };
int hv = HandValue(Cards);

値は 1 から 52 までです。ここで私の質問は次のとおりです。これらの整数はどのカードに対応していますか? 3 はスペードのエースですか? ハートの3?私はグーグル、2 + 2フォーラム、手の評価者が提示されているさまざまなページ、配列の構築のためのソースファイルを精査しました。すべて無駄に。だから私は、ここの誰かが私がこの情報を見つけることができる正しい方向に私を向けることができるか、完全に私にそれを与えることを望んでいます.

エバリュエーターの出典は次の優れた記事です: http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup#cactus_kev すべてのエバリュエーターを個別に説明しています。

4

1 に答える 1

4

確認はしていませんが以下のようです。

"2c": 1,
"2d": 2,
"2h": 3,
"2s": 4,
"3c": 5,
"3d": 6,
...
"kh": 47,
"ks": 48,
"ac": 49,
"ad": 50,
"ah": 51,
"as": 52

参照: https://github.com/chenosaurus/poker-evaluator/blob/master/lib/PokerEvaluator.js

于 2013-02-12T22:07:29.853 に答える