【问题标题】:Deciding who has won a hand of Poker in Java [closed]决定谁在 Java 中赢得了一手扑克牌 [关闭]
【发布时间】:2013-03-07 16:22:00
【问题描述】:

在 Java 中使用 7 张牌中的 5 张牌(德州扑克)的最佳组合比较两个(并且只有两个)玩家手牌的最佳方法是什么?

如果每张牌都被分配了一个值或枚举,那么是否有一个算法可以用来决定谁的手牌最强?

我想你可以做一个整数比较来看看谁的牌价值最高,或者使用某种形式的查找表。

环顾四周,有一个名为 SpecialKPokerEval 的手牌评估器:http://code.google.com/p/specialkpokereval/

这是否适合且轻松地实施到现有项目中,还是我应该考虑从头开始做某事?

编辑:

使用整数值的手部评估器如何工作?

查找表是如何工作的 - 每个可能的手牌是否都有一个值?

【问题讨论】:

  • 我们在这里为特定问题提供帮助。除非你定义得最好,否则这个问题太主观了。
  • 你边做边学。所以尽量自己做,而不是使用别人做过的东西。
  • 在我看来,扑克牌可能有一个标准的计分方法。类似于 3 位数字 - 1、2、3、4 的高位数字,同花顺,同花顺,同花顺。高卡低2位。
  • @HotLicks 这不适用于双对,因为您需要指定两个牌的高度才能打破最高值的平局。
  • @Khaur - 是的(这个计划刚刚在我脑海中浮现,我忘记了两对),但肯定有一个简单的计划可以涵盖这一点,扑克专家会知道。跨度>

标签: java algorithm math evaluation poker


【解决方案1】:

我建议从头开始,因为这是一个很好的练习。事实上,它是“Project Euler”中的problem 54,您可以寻找该练习的解决方案。

【讨论】:

  • 为项目欧拉链接+1
  • 感谢 Atif 的链接。
猜你喜欢
  • 2010-11-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-04
  • 2017-02-11
  • 2011-07-09
  • 2021-08-18
相关资源
最近更新 更多