二加二扑克手牌评估器:牌是如何映射到整数的
Two plus Two Poker hand evaluator: How are the cards mapped to the integers?
为了用C++创建尽可能快的蒙特卡罗德州hold’em手部分析器,我目前正在研究手部评估的主题。
正如你们中的许多人可能知道的那样,有很多开源的手工评估器。经过一番思考,我选择了"双加双手评估器"(自从它第一次在双加二论坛上推出以来就这么命名)。
这是目前已知的最快的评估器之一,它使用数组查找来快速找到手的值。
现在,对于函数,您需要传入一个数组,其中包含您感兴趣的卡。例如:
int Cards[] = { 3, 5, 10, 17, 23, 24, 32 };
int hv = HandValue(Cards);
值介于1和52之间。现在,我的问题是:这些整数对应什么牌?3是黑桃王牌吗?三颗心?我搜索了谷歌,2+2论坛,展示手动评估器的各种页面,数组构建的源文件。一切都白费了。所以我希望这里有人能给我指明正确的方向,让我在哪里可以找到这些信息,或者直接给我。
评估人员的来源是这篇优秀的文章:http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup#cactus_kev这对所有评估者进行了单独解释。
我没有验证这一点,但看起来是:
"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
相关文章:
- 碱基对映射 - 将 argv[i] 移动到整数或字符作为输入
- 整数键映射到头文件中的成员函数指针
- 如何将整数向量插入到键中,标准::映射的值
- 将大数字(10-12 位数字)存储在无序映射中<字符串,整数>
- 自定义哈希表实现-将字符串映射到整数时出现内存错误
- 将整数范围映射到另一个范围
- 当 map 是一个整数数组并且由 operator[] 创建时,它是否初始化其映射类型
- 从文件读取到映射中,该映射将键作为整数,并将相应的值设置为设置
- 如何使用 std::multimap 将整数键映射到两个用作多维数组坐标的整数值(对于井字)?
- 整数和元组的静态 STL 映射返回 0
- 如何将字符设置为函数?我对语法感到困惑...设置<char>max_freq(映射<字符,整数>频率)
- C++:使用一对(cpp_int,int)整数作为无序映射中的键(其中cpp_int是boost多精度整数)
- 如何打印包含整数和整数集的std::映射
- C++将一组整数变量映射到值的有效方法
- 如何访问映射的向量(整数和字符串的向量)
- 高效实现 64 位和 32 位无符号整数之间的双向映射
- 如何使用一个整数数组作为一个无序映射的键
- 哈希映射(整数,字符串[])在C++
- 如何使用模板创建排序映射整数索引
- 访问映射<整数,对<双精度,双精度>>元素