与Jokers的扑克手评估

时间:2013-05-08 06:38:38

标签: java poker

我为我正在开发的Hold'Em Poker游戏编写了一个Naive Poker评估算法,我想知道在这些人手中评估Jokers的最佳方法是什么。

我曾经想过用卡片中的每张牌取代小丑,并反复重新评估手牌以找到最好的牌。然而,最多可以有3个骗子,它似乎不是最有效的方法吗?想法?

P.S。 - 是的我知道有几个更快的扑克手评估员可用,但这些卡略有不同,我无法找到一个符合我的需求(Jokers等),因此从头开始编写。

2 个答案:

答案 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:非小丑数字也必须不同。