我正在尝试编写一个简单的游戏/实用程序来计算扑克赔率。我知道有很多resources讨论了这样做的公式,但我想我无法将其转换为代码。特别是,我对Texas Hold-em感兴趣...
我知道有几种不同的方法,一种方法是你可以根据你能看到的牌来计算你手牌的几率。另一种方法是计算你赢得某手牌的几率。第二种方法似乎要复杂得多,因为你必须输入更多的数据(有多少玩家等)
我不是要求你为我写这篇文章,但是一些正确方向的推动会有所帮助: - )
答案 0 :(得分:21)
以下是文章的一些链接,可以作为起点帮助:Poker Logic in C#和Fast, Texas Holdem Hand Evaluation and Analysis
“这个代码片段可以让你用C#和.NET艰难地计算扑克概率。”
理论基础在这个Wikipedia article about Poker Probabilities和优秀的statistical tutorial中给出。
在SpecialKEval中可以找到用Objective-C,Java,C / C ++或Python编写的完整项目的示例。其他链接和阅读可以在其中找到。
答案 1 :(得分:8)
蒙特卡罗模拟是获得扑克手牌赔率计算的常用方法。有很多例子可以在网上对holdem实施这种模拟。
http://www.codeproject.com/KB/game/MoreTexasHoldemAnalysis1.aspx
答案 2 :(得分:2)
Pokersource和统计文章都是不错的建议。但这最好用蒙特卡罗模拟来完成,这是一种有用,简单且功能强大的方法来处理这类难题。
与奥马哈Hi-lo一样,与Hold'em
一样答案 3 :(得分:1)
如果你有相当强大的C能力,请看pokersource。这很简单,我担心,但你要找的一些东西很复杂。如果您可以获得正确的输入格式(也不容易),使用该库的poker-eval程序可能会执行您想要的大部分操作。 this one或this等网站也使用此库AFAIK。
不过,情况可能更糟,你可能想要像Omaha Hi-lo那样计算一些棘手的东西......
答案 4 :(得分:1)
看看这里:
http://specialk-coding.blogspot.com/2010/04/texas-holdem-7-card-evaluator_23.html
蒙特卡罗模拟通常比精确的评估者慢。
答案 5 :(得分:0)
德州扑克扑克游戏评估员的完整源代码可以在这里找到:
http://www.advancedmcode.org/poker-predictor.html
它是为matlab构建的,GUI id是m编码的,但计算引擎是c ++。
它允许赔率和概率计算。在我的2.4Ghz笔记本电脑上,它可以在0.3秒内处理100000个10人游戏计算。
准确的实时计算机:-)