问题标签 [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.

0 投票
7 回答
2634 浏览

c# - How can I teach a computer system how to play poker?

At first I have 5 cards by random, of course. Only one time I can change and also l have already taught [the program] the poker rules in my system. My problem is how can I choose "I don't need this card or there are cards?". I can change by myself but computer doesn't know. I think maybe it is difficult but have you guys any help to offer?

0 投票
2 回答
1804 浏览

iteration - 奥马哈 Hi Hand 评估器

目前我正在尝试将 Keith Rule 的 Texas Holdem Hand Evaluator 移植到 Omaha Hi:

在对算法进行了更多思考之后,我找到了一个解决方案,它为我提供了正确的手牌百分比,一切都很好..

但这真的很慢。我怎样才能加快速度?

由于我现在唯一要做的就是查找普通的五张牌,因此 LUT 可能适合我。有人集成过吗?

0 投票
5 回答
1873 浏览

c++ - 写完一个扑克手评估器正在寻找一个新项目

刚刚用 C++ 编写了一个五张牌扑克手评估器。现在我正在寻找一个难度相同的新项目。也许是一个非常简单的 DOS 命令解析器?

0 投票
3 回答
3744 浏览

math - 是否存在开源扑克相关数学库?

我想开发一个扑克赔率应用程序,可以给出各种游戏情况的概率。由于该应用程序主要是统计分析,我想我会看看其他人是否已经编写了一个实现所需数学的库。

我更喜欢 C++ 中的跨平台开源,但这不是必需的。

0 投票
6 回答
1409 浏览

c# - 扑克下注回合的对象表示

我正在写一个扑克手的 HandConverter。这是我的第一个项目,我试图从一开始就做。

我已经掌握了大部分内容,例如玩家名单、他们的位置、筹码量、不同棋盘的牌、正在玩什么游戏等等,但我在下注的表现形式上遇到了困难,尤其是不同的加注、下注和倍数来自同一玩家的电话。

我发现了一些我基于案例的天真解决方案不起作用的情况,而且它真的很复杂,我不喜欢它。由于它目前适用于 NL 德州扑克,我认为如果我想实现像 Stud、Razz 等游戏,尽管下注结构可能相同,我会有更多的变通方法要做。

现在我使用这种表示,我想特别改进RoundAction类。你对我有什么建议吗?

PS我也使用一个列表来存储不同的回合,有没有更好的方法比如继承翻牌、转牌和河牌的回合类?

0 投票
3 回答
449 浏览

java - 从标准套牌的子集中获得每两张牌组合

我有一副标准的牌,然后从剩余的牌中删除了一些,我想计算所有可能的两张牌组合。例如,47 张牌有 47 种选择 2 种组合。除了

谢谢

0 投票
2 回答
876 浏览

java - 计算每个扑克起手牌的唯一索引

由于一副牌中有 52 张牌,我们知道有52 choose 2 = 1326不同的对局,但是在翻牌前扑克中,这可以分为 169 种不同的手牌,例如 AK 非同花和 AK 同花,无论是 A 红桃 K 红桃 K 黑桃 A翻牌前的差异。我的问题是,是否有一个很好的数学属性,我可以在其中唯一地索引这 169 手牌中的每一手(最好从 0 到 168)。我正在尝试创建一个查找表,double[][] = new double [169][169]但无法将诸如 AK(同花色的 A 和 K)之类的手牌表示更改为该数组中的唯一索引。

0 投票
7 回答
3078 浏览

java - Collections.shuffle 适合扑克算法吗?

java中有一个扑克系统,在Collections.shuffle()发牌之前使用所有可用的牌。

所以收集了 4 种类型的 52 张卡片 2-9、J、Q、K、A。

之后我们Collections.shuffle()

问题是,看起来(直到现在我们还没有大的统计数据,我们可能只看到很多统计推断),算法非常不清楚。

那么,Collections.shuffle()扑克算法可以吗?


评论的答案:“不清楚”我的意思是它在某些时候非常非常神秘。许多用户抱怨“它与现场/其他扑克室不同”。我在这个系统中玩了很多,我必须说,我同意,我在这个系统中看到 3 次 Royal Flashs 在不到 2000 手牌中,并且在现场/在其他扑克室中超过 100.000 手牌,直到今天我看到了 2 次。

0 投票
12 回答
24222 浏览

security - 击败扑克机器人

有一个名为PokerPirate的新开源扑克机器人。我对 Web 应用程序可以检测/阻止/击败扑克机器人的任何创造性方式感兴趣。(这是一个纯粹的学术讨论,与 PokerPirate 的写作精神相同。)

0 投票
1 回答
103 浏览

algorithm - 需要帮助迭代数组,检索两个可能性,不重复,用于扑克 AI

我真的想不出一个好的方法来表达这个问题,也想不出一个好的标题,也许答案太简单了以至于我错过了它。我正在研究扑克 AI,我想计算比我更好的手牌数量。我明白怎么做,但我想不出是迭代一组卡片的最佳方法。

所以我在翻牌圈,我知道我的两张牌是什么,而且公共牌上有 3 张牌。所以,有 47 张未知的牌,我想遍历这 47 张牌的所有可能组合,假设有两张牌被淘汰,所以你不能有两张相同等级和花色的牌,如果你之前计算过设置你不想再做一次,因为我会浪费时间,这会被调用很多次。如果您不明白我的要求,请告诉我,我会澄清更多。所以,我可以这样设置,如果该元素等于 1,则表示它不在我手中,不在棋盘上,每种花色为 4,每个等级为 13。 setOfCards[4][13] .

如果我像这样做一组简单的 for 循环:(伪代码) p>

所以,这实际上会重复很多值,例如:card1 = AceOfHearts, card2 = KingOfHearts 与 card1 = KingOfHearts, card2 = AceOfHearts 相同。它也会改变我的计算。我应该如何避免这种情况?另外,这种技术有名字吗?谢谢你。