gpt4 book ai didi

java - 需要帮助了解德州扑克游戏

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:50:48 24 4
gpt4 key购买 nike

在德州扑克中, table 上有两张 7 张牌、两张底牌和 5 张牌。有人可以指出确定玩家手牌评估的算法(需要如何完成)。我创建了两个列表

List<Card> holeCards = new Arraylist(); // 2S 5H two cards for a player
List<Card> cardsOnTable = new Arraylist(); // 6C AS 5C 7D 6D cards on table
List <Card> allCards = new Arraylist();
allCards.addall(holeCards);
allCards.addall(cardsOnTable); // AS 7D 6C 6D 5C 5H 2S -- after sorting cards in descending order

我应该如何从排序列表中挑选前五张牌来确定手牌评估员。我看过德州扑克的一些例子,但我无法清楚地理解如何解决这个问题

最佳答案

您不能立即消除 2 张牌,最低的 5 张牌可以形成同花,而最高的一张则是葫芦。

就我个人而言,我会评估 7 张牌(手牌加上 5 张牌 table 上的牌)中的每种手牌

首先从最高排名开始(同花顺,这意味着您可以同时检查同花顺和同花顺),(您可以改进这些方法中的每一个以提高速度)

  1. 检查是否同花(循环遍历数组,并计算每个花色的实例),如果有人命中 5,则您有同花

  2. 检查 Straight - 按时间顺序对数组进行排序,看看数组中的下一个整数是否在后面

  3. 然后制作所有卡片的直方图,(检查每个数字出现了多少次)如果你有 4,1,1,1 或 4,2,1 你有 4 个3,2,1,1 或 3,2,2 你有一个完整的房子3,1,1,1,1一组2,2,1,1,1 2对2,1,1,1,1,1一对1,1,1,1,1,1,1, 高牌

一旦您知道自己的最佳手牌是什么,您就可以选出最好的 5 张牌。他们将此与另一只手进行比较

关于java - 需要帮助了解德州扑克游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52575356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com