解读RayW扑克手评估员

时间:2017-08-24 02:01:23

标签: c++ poker

我正在尝试破译此代码:https://github.com/tangentforks/TwoPlusTwoHandEvaluator/blob/master/generate_table.cpp

该代码用于生成大量查找表,然后用于查找7张牌的手牌。我很难解释为什么主要方法按原样编写。从我可以做到的,第一个for循环强制每一个卡组合,在必要时替换适当的套装抽象,但我不确定为什么在下一节重复,或者为什么它按比例缩放53然后加53到。任何人都可以对此有所了解吗?

这是有问题的代码::

round()

1 个答案:

答案 0 :(得分:0)

当前正在执行相同操作。因为有52张卡,所以移动了53。指向无效状态后,您将转换为0。从那里开始,您选择的任何卡仍必须处于无效状态,因此前53个条目0 + 52的排名指向0。第一个有意义的条目位于53。 ((53 + 53)。

尝试先了解概念。该表是一个巨大的有向图,其中每个节点有52个子节点和一个索引为0的“ evaluate-current-handrank-node”。poker-ai.org和原始线程提供了许多有用的信息。还可以看看CactusKevs的想法,即通过使用质数来获得卡上的手排名。天才。这一切都涉及到这一点。