计算德州扑克中的 5 张牌抽牌
Calculating 5 card draw outs in Texas Hold'em Poker
我目前正在 python 中进行扑克模拟,我一直在计算 post-翻牌、转牌
的补牌
我想学习如何计算翻牌时的补牌。
换句话说,我想学习如何让我的模拟识别出我需要一张牌才能顺子。如果丢失的牌在中间,我的补牌是 4。如果它在顺子的开头或结尾,我的补牌是 8。
例如:
我口袋里有(手)5-黑桃和 6-方块
翻牌是:9-Clubs,8-Hearts,K-Hearts
所以我的 5 张牌是:5s - 6d - 8h - 9c - Kh
在扑克中,这种开牌是内顺顺子开牌。如果我轮流抽到任何类型的 7 或河牌,我就会有顺子听牌。由于一副牌中有 4 个 7,我的出牌是 4 个顺子。
这只是关于补牌的一个基本示例。
如果有人能指导我,我会很高兴。
亲切的问候
在没有其他知识的情况下,您可以使用
计算出概率
number of ways a success can occur
-----------------------------------
total number of outcomes
所以有 5 张你知道的牌和 52-5 = 47 张你不知道的牌,给出 47 种可能的结果。抽出 4 个七人组中的一个的概率为
4
--
47
如果抽到两张牌,则需要probability tree diagrams
前两张牌是 7 的概率是
4 / 47 * 3 / 46
第一个是 7 而第二个不是 7
4 / 47 * 43 / 46
第一个不是七,第二个是七
43 / 47 * 4 / 46
两者都不是七人组
43 / 47 * 42 / 46
首先,您需要一些可以识别各种手牌(同种四、同花顺等)的代码。然后,您的算法应该一次从玩家手中拿走四张牌,并循环遍历牌组中所有剩余的牌,一次一张,将它们添加到玩家手上并测试它们以查看哪些手牌可能与一张画.
也就是说,给定手牌 A B C D E
,因此牌 X1, X2, ..., X47
构成可能的抽牌,您的算法将测试:
A B C D + (X1 ... X47) --> evaluate_hand()
A B C E + (X1 ... X47) --> evaluate_hand()
A B D E + (X1 ... X47) --> evaluate_hand()
A C D E + (X1 ... X47) --> evaluate_hand()
B C D E + (X1 ... X47) --> evaluate_hand()
如果这 235 手牌中的一手评估为 STRAIGHT_FLUSH
,您将知道该玩家距离同花顺只有一张牌。
我目前正在 python 中进行扑克模拟,我一直在计算 post-翻牌、转牌
的补牌我想学习如何计算翻牌时的补牌。 换句话说,我想学习如何让我的模拟识别出我需要一张牌才能顺子。如果丢失的牌在中间,我的补牌是 4。如果它在顺子的开头或结尾,我的补牌是 8。
例如:
我口袋里有(手)5-黑桃和 6-方块
翻牌是:9-Clubs,8-Hearts,K-Hearts
所以我的 5 张牌是:5s - 6d - 8h - 9c - Kh
在扑克中,这种开牌是内顺顺子开牌。如果我轮流抽到任何类型的 7 或河牌,我就会有顺子听牌。由于一副牌中有 4 个 7,我的出牌是 4 个顺子。
这只是关于补牌的一个基本示例。
如果有人能指导我,我会很高兴。
亲切的问候
在没有其他知识的情况下,您可以使用
计算出概率 number of ways a success can occur
-----------------------------------
total number of outcomes
所以有 5 张你知道的牌和 52-5 = 47 张你不知道的牌,给出 47 种可能的结果。抽出 4 个七人组中的一个的概率为
4
--
47
如果抽到两张牌,则需要probability tree diagrams
前两张牌是 7 的概率是
4 / 47 * 3 / 46
第一个是 7 而第二个不是 7
4 / 47 * 43 / 46
第一个不是七,第二个是七
43 / 47 * 4 / 46
两者都不是七人组
43 / 47 * 42 / 46
首先,您需要一些可以识别各种手牌(同种四、同花顺等)的代码。然后,您的算法应该一次从玩家手中拿走四张牌,并循环遍历牌组中所有剩余的牌,一次一张,将它们添加到玩家手上并测试它们以查看哪些手牌可能与一张画.
也就是说,给定手牌 A B C D E
,因此牌 X1, X2, ..., X47
构成可能的抽牌,您的算法将测试:
A B C D + (X1 ... X47) --> evaluate_hand()
A B C E + (X1 ... X47) --> evaluate_hand()
A B D E + (X1 ... X47) --> evaluate_hand()
A C D E + (X1 ... X47) --> evaluate_hand()
B C D E + (X1 ... X47) --> evaluate_hand()
如果这 235 手牌中的一手评估为 STRAIGHT_FLUSH
,您将知道该玩家距离同花顺只有一张牌。