我试着在网上查了几个资料来源,他们都处理5张牌和7张牌的牌。另外,我并不是真的在寻找代码,我会尝试自己去做(尽管如果您愿意,我希望用Python或JavaScript实现它)。我只想有人向我解释找到这样一只手的步骤(使用伪代码)。在
基本上,我要问的是:如何从4个玩家之间的9张牌中找到最高的扑克手?在
我应该分配所有最高的扑克手数排名,然后通过分析每个玩家的手,看看他们的手是否包含这个数字?这似乎有点乏味,我不确定这是正确的方法。在
另外,我注意到其他手牌计算器都是为了优化而设置的,有些人会计算每张牌的位数,这让我很困惑。在
编辑:下面是我正在制作的游戏:
这是一个6x6网格的游戏,其中四个玩家拿起牌,他们的棋子落在哪里,他们就拿起那张牌。卡片来自标准的52张卡片组,但是卡片面朝上,只有36张从卡片组中随机选择的卡片被使用。在
最终,在游戏接近尾声时,玩家手中最多只能有9张牌。在
赢得游戏的方法是在你周围的四个玩家中包含最高的扑克手。在
所以,基本上,如果你有一个皇家冲,而其他人都有一双或一个直发,他们就输了。在
在另一场比赛中,最高的手是直杆,其他手是三对或两对,则直杆者获胜。在
所以,最高的扑克手是相对于其他玩家的手最高的手。在4个玩家中,这只手牌的排名最高。在
扑克只是普通的手,可能是也可能不是最高的等级。在
9张牌的手牌只有126种可能的5张牌组合。所以你可以在上面迭代,找到最高的。
itertools.combinations(9_cards, 5)
可以生成所有这些。在为了找到最高点,一个简单的实现可以定义一个函数来给一只手打分。然后将此函数用作键:
max(all_5_cards_hands, key=hand_score)
你可以用元组来表示分数。以手牌排名领先,其次是卡片排名。在
例如:
相关问题 更多 >
编程相关推荐