3

为了用 C++ 创建最快的蒙特卡洛德州扑克手牌分析器,我目前正在研究手牌评估的主题。

你们中的许多人可能都知道,那里有很多开源的手动评估器。经过一番思考,我选择了“二加二手评估器”(之所以这样命名,是因为它是在二加二论坛上首次介绍的)。

这是目前已知最快的评估器之一,它使用数组查找来快速找到一手牌的价值。

现在,对于该函数,您需要传入一个包含您感兴趣的卡片的数组。示例:

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

值在 1 到 52 之间。现在,我的问题是:这些整数对应什么卡片?3是黑桃A吗?三颗心?我搜索了 google、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 回答