我为我正在开发的Hold'Em Poker游戏编写了一个Naive Poker评估算法,我想知道在这些人手中评估Jokers的最佳方法是什么。
我曾经想过用卡片中的每张牌取代小丑,并反复重新评估手牌以找到最好的牌。然而,最多可以有3个骗子,它似乎不是最有效的方法吗?想法?
P.S。 - 是的我知道有几个更快的扑克手评估员可用,但这些卡略有不同,我无法找到一个符合我的需求(Jokers等),因此从头开始编写。
答案 0 :(得分:3)
请注意,尝试从七个牌中获得五张牌的每个组合意味着尝试21种组合,这并不是那么糟糕。
对于每一只手,#:其中#是一个数字,表示手中的#jokers。
另请注意,一旦找到了一只手,你就不必寻找比七张牌中的任何其他组合都差的牌 - 你可以提早停止。
如果符合以下条件,您可以形成同花顺:
0:所有的牌都是同一套牌,最高牌和最低牌的牌差别为4(这意味着其他三张牌必须介于这两张牌之间)
1:所有的非笑话者都是同一套牌,最高和最低的牌有4或3的差异。(这意味着其他牌都填补了直线,有一个差距 - 小丑填充)< / p>
2:所有非笑话者都是同一套牌,最高和最低牌次有4,3或2张差异。
3:所有非笑话者都是同一套牌,最高和最低牌次有4,3,2或1的差异。
如果符合以下条件,您可以形成四种类型:
0:你有四张相同等级的牌。
1:你有三张相同等级的牌。
2:你有两张相同等级的牌。
3:你有四种 - 停止评估。
如果符合以下条件,您可以组建一个完整的房子:
0:你有三种和一对。
1:你有三种,或者你有两对。
2:你有三种,或者你有一对。
如果符合以下条件,您可以形成同花:
所有非小丑都是同一套。
如果符合以下条件,您可以形成直线
请参阅直接冲洗逻辑,但要取消冲洗要求。
如果符合以下条件,您可以形成三种类型:
0:你有三张相同排名的牌。
1:你有两张相同等级的牌。
2:你有三种 - 停止评估。
如果符合以下条件,您可以形成两对
0:你有两张相同等级的牌,分为两个不同的等级。
1:你有两张相同等级的牌(一对)。
您可以在以下情况下成对:
0:你有两张相同排名的牌。
1:你有一对 - 停止评估。
您的卡片数量最多 - 停止评估
答案 1 :(得分:0)
这种比较上下差异的逻辑不起作用。
考虑一下你有9 - J - J - K - Joker。这将产生4的差异,但不是直的。
FIX:非小丑数字也必须不同。