问题标签 [poker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 生成所有 5 张牌扑克手
这个问题乍看起来很简单,但实际上比看起来要复杂得多。这让我一时难过。
有 52c5 = 2,598,960 种方法可以从 52 张牌组中选择 5 张牌。然而,由于花色在扑克中是可以互换的,其中许多是等价的——手牌 2H 2C 3H 3S 4D 等价于 2D 2S 3D 3C 4H——只需交换花色即可。根据维基百科,一旦你考虑了可能的花色重新着色,就有 134,459 个不同的 5 张牌手。
问题是,我们如何有效地生成所有这些可能的牌?我不想生成所有手牌,然后消除重复,因为我想将这个问题应用于更多数量的牌,以及评估快速螺旋失控的手牌数量。我目前的尝试集中在生成深度优先,并跟踪当前生成的卡片以确定哪些花色和等级对下一张卡片有效,或者广度优先,生成所有可能的下一张卡片,然后通过转换每个卡片来删除重复项通过重新着色交给“规范”版本。这是我在 Python 中尝试的广度优先解决方案:
不幸的是,这会产生太多的牌:
谁能建议一种更好的方法来生成不同的手,或者指出我在尝试中出错的地方?
java - 为什么我的 isFullHouse() 方法也接受简单的三种?
我的全屋方法有问题。我认为这就像检查三个同类和一对一样简单。但是使用我当前的代码,我得到了一个只有三个的完整的房子。isFullHouse() isThreeOfAKind() 和 isPair() 的代码如下感谢所有帮助!
java - 如何使用 Java 在扑克中打印所有可能的“满屋”?
我想知道是否有人知道如何在java中实现代码来打印所有满屋子的情况。大约有3700个不同的案例。到目前为止,我大约 2700,但我无法更换西装,她是我目前所拥有的。
desktop - 扑克手牌历史分析器
我想构建一个扑克手牌历史分析器,它可以在 Windows 和 osx 桌面上运行。
用户需要能够选择一组文本文件,这些文件被解析到本地机器上的数据库中。
然后数据库中的数据会显示各种过滤器选项、信息表和图表。
对于编程语言、数据库和跨平台 ui,我有哪些选择?
javascript - 有没有比这更简单的方法来计算扑克中的顺子?
我有一个算法来计算玩家的手在德州扑克中是否持有顺子。它工作正常,但我想知道是否有一种更简单的方法可以做到这一点,不涉及数组/字符串转换等。
这是我所拥有的简化版本。假设玩家拿到一手牌,它是一个 52 元素的卡片值数组:
1 代表该值槽中的一张卡。上面的手有 2 个梅花,没有方块,有 3 个红心、4 个红心和 6 个红心,一个 5-黑桃和一个 10-黑桃。现在我看着它找到一条直线。
这里的诀窍是对各种花色进行或运算,因此只有一个 2 对 A 表示。我认为必须有一种更简单的方法来做到这一点是错误的吗?
data-mining - Sharkscope 或 PTR 数据究竟是如何挖掘所有这些手的?
我很想知道这个过程是如何工作的。这些网站(http://www.sharkscope.com和http://www.pokertableratings.com)每天从 PokerStars 和 Full Tilt 等安全扑克网络挖掘数千手牌。
他们是否拥有运行应用程序的服务器场,这些应用程序打开数百个表(窗口),然后以某种方式蜘蛛/数据挖掘正在玩的手?
这是如何工作的,编程明智?
algorithm - 测试一手牌的顺子听牌(4 顺子)的算法?
我正在为好玩而编写一个扑克评估库而痛苦,并希望增加测试一组给定卡牌的平局(开放式,内奏)的能力。
只是想知道“最先进的技术”是什么?我试图保持我的内存占用合理,所以使用查找表的想法并不好,但可能是必要的邪恶。
我目前的计划是这样的:
- 从集合中所有卡片的排名中减去最低排名。
- 查看某个序列,即:0、1、2、3 或 1、2、3、4(对于 OESD)是否是修改后集合的子集。
我希望在复杂性方面做得更好,因为 7 卡或 9 卡套使用我的方法会使事情停止。
任何输入和/或更好的想法将不胜感激。
c# - C# 扑克库
我正在为演示建立一个简单的扑克网站。任何人都知道我在哪里可以找到一组封装卡片,甲板,手等的类?
谷歌不是很有帮助,(大多数链接都指向代码项目,该项目一直到美国东部标准时间下午 1 点——我在爱尔兰)。
谢谢!
syntax - 是否存在“翻牌前规范形式”的规范/语法?
我听说这个词经常使用,但还没有看到它被指定(并且无法通过搜索找到它)。单手起手非常简单。在这里,我以 pokerstove 语法为例:
- XX 表示一对(例如:77、99、TT、KK)
- XYo 表示非花色组合(例如:72o、54o、AQo)
- 同花组合的 XY (例如:76s、86s、AKs)
当它开始采用类似于集合构建器的语法时,事情变得有点冒险,具有范围和范围之间的联合。(例如:22+,A9s+,AKo 任何对子,同花 A >= A9,和 AKo)。
据我所知,人们倾向于使用 PF 形式的细微变化,但“规范形式”一词似乎表明有人至少开始寻求简化和/或标准化它。
一方面,Stove 无处不在,复制 Prock 的语法并不可怕,但如果存在标准,我想实现一个标准。
ruby - 打印从列表的 Y 元素中选择的 X 个不同对象的所有组合
例如,52 张牌中的 5 张牌 = 2598960 种组合。
我将如何实际显示所有这些组合?
查找号码的代码很简单:
关于打印出所有实际组合的解决方案有什么想法吗?
例如:
1,2,3,4,5
1,2,3,4,6
等
甚至帮助入门。谢谢!