Tag: 扑克

在Java中洗牌

我还有另一项练习,我真的需要帮助。 我甚至都不知道我的isFlush方法是否正常工作,因为似乎我的套牌没有洗牌并且处理一只手而且我完全卡住了。 有人可以帮助我或指出我正确的方向或什么? 这是练习: 练习12.5本练习的目标是编写一个程序,生成随机扑克牌并对其进行分类,以便我们可以估计各种扑克牌手的概率。 如果你不玩扑克,不要担心; 我会告诉你你需要知道的一切。 一个。 作为一个热身,编写一个程序,使用shuffleDeck和subdeck生成并打印四个随机扑克牌,每个牌有五张牌。 你有什么好处的吗? 以下是可能的扑克牌,按价值递增顺序:对:两张相同等级的牌两对:两对牌同等级三张牌:三张牌同等级直牌:五张牌等牌序列冲洗:五张牌同一套牌全场:三张牌一张,两张牌另有四张牌:四张同等级牌同花顺:五张牌顺序和同一套牌 湾 编写一个名为isFlush的方法,该方法将Deck作为参数并返回一个布尔值,指示该手是否包含刷新。 C。 编写一个名为isThreeKind的方法,它接受一只手并返回一个布尔值,指示该手是否包含三种类型。 d。 写一个循环,生成几千手,并检查它们是否包含齐声或三种类型。 估计获得其中一手的可能性。 即 编写测试其他扑克手的方法。 有些比其他人容易。 您可能会发现编写一些可用于多个测试的通用辅助方法很有用。 F。 在一些扑克游戏中,玩家每人获得七张牌,并且他们与七张牌中最好的五张牌形成一只牌。 修改程序以生成七张牌并重新计算概率。 这是我的代码: public class Poker { public static void main(String[] args) { Deck deck = new Deck (); Deck.dealDeck (deck); } } class Card { int suit, rank; int index = […]

查找设置了某些位的long的所有组合

这是一个非常模糊的问题,我怀疑我必须在我的代码中以不同的级别进行…但希望Stack Overflow的蜂巢思维可以帮助…… 我有一个很长的,如果表示为二进制字符串将设置正好五位。 例如, long l = 341; // as a bit string, “101010101” 我正在寻找一个包含所有十个可能长度的数组,其中正好有三个这样的位。 继续这个例子, long[] results = { 101010000, 101000100, 101000001, 100010100, 100010001, 100000101, 1010100, 1010001, 1000101, 10101 } 以下是适当的方法签名: public long[] toThreeBitCombinations(long l) { // what goes here? } (问题领域是扑克;在奥马哈扑克手中列举所有可能的板卡组合。是的,还有其他方法可以解决这个问题,但我正在测试这种方法,因为处理比特比其他大多数替代方案快得多。)

如何遍历所有组合,例如48选择5

可能重复: 如何从java中的一组大小n迭代生成k个元素子集? 我想建立自己的扑克手评估员,但我遇到了特定部分的问题。 如果两名牌手获得两张牌,那么将会有48张牌。 在Texas Hold’em中,再发出5张可能的社区牌(这称为牌局)。 我想枚举/循环所有48个选择5个可能的棋盘组合,并计算玩家A获胜的时间和玩家B获胜的时间以及他们并列的时间。 我不确定如何系统地遍历每5张卡组合。 有没有人有任何想法? 这些卡表示为类卡的数组,但如果它使它更快,我也可以将它们表示为bitset。 我是用Java做的。 非常感谢

Java数组索引以某种方式超出界限?

在我的游戏代码中,我正在尝试添加一张卡片。 我一做到这一点,我的arrays就出界了。 一切看起来都很正确,但也许我错过了一些东西。 仅供参考,一个和两个是播放器实例。 来自Main类的相关代码(抱歉格式化。我很沮丧将它转移到Stack Overflow): import java.util.*; public class Program { public static void main(String args[]) { String[] rank = {“two”, “three”, “four”, “five”, “six”, “seven”, “eight”, “nine”, “ten”, “jack”, “queen”, “king”, “ace”}; String[] suit = {“hearts”, “diamonds”, “spades”, “clubs”}; Scanner scan = new Scanner(System.in); String something = “yes”, something2 = “yes”; //Use with […]

最简单的扑克手评估算法

我正在考虑Java扑克牌(5张牌)评价。 现在我正在寻求简单和清晰,而不是性能和效率。 我可能会写一个“天真”的算法,但它需要很多代码。 我还看到了一些扑克评估库,它们使用散列和按位操作,但它们看起来相当复杂。 什么是扑克牌手评估的“最干净,最简单”的算法?