我目前正在用python模拟扑克,我被困在翻牌后计算结果,转
我想学习翻牌时如何计算出局数。
换句话说,我想学习如何使我的模拟识别出我需要一张卡片才能获得直牌。如果缺少的牌在中间,我的筹码为4。如果在顺子的开始或结尾,我的筹码为8。
例如:
我的口袋里有5个锹和6个钻石
翻牌是:9俱乐部,8心脏,K心脏
所以我的5张牌手就像:5s-6d-8h-9c-Kh
在扑克中,此平局是直击平局。如果我在转牌或河牌游戏中抽出任意7张牌,我将获得平局。由于甲板上有4个7,因此我的直牌是4。
这只是关于出局的一个基本示例。
如果有人可以指导我,我会很高兴。
亲切的问候
最佳答案
首先,您需要一些可以识别各种手的代码(一种四手,同花顺等)。然后,您的算法应该一次从玩家手中拿走四张牌,并循环遍历套牌中的所有剩余卡,一次一张,将它们添加到玩家手中,并测试它们以查看哪只手可以画。
也就是说,给定手牌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 - 在德州扑克中计算5张纸牌抽签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40321745/