斗地主残局破解

前言

斗地主残局,双方都是明牌,玩家作为地主方先出,只要优先出完所有手牌即表示战胜,比较考验玩家的斗地主水平和智商。

很多斗地主的应用里面都会有残局闯关模式,例如:欢乐斗地主,途游斗地主等等。记得小时候庙会,就会有斗地主残局的摆摊,5块钱一局,我只围观过并没有玩过,如今想来有点遗憾。到了现如今,随着 络的迅速发展,直播平台也出现了斗地主残局的身影,前段时间我就在抖音上刷到过。

那么问题来了,有的斗地主残局可能是套路局,也就是必输局,我们怎么快速的计算判断残局是否有解呢实,因为完全信息,有限的步骤(手牌数有限,打完结束),我们完全可以模拟出所有的出牌组合,来暴力计算结果。

示例

可以先体验下残局破解小程序的效果:

1. 关于牌值的定义

将 3,4,5,6,7,8,9,10,J,Q,K,A,2,小王,大王
用 3,4,5,6,7,8,9,10,11,12,13,14,16,18,19 表示
目的是更方便判断顺子和大小关系。

2. 出牌大小比较

除了炸弹,只有相同牌型才能比较。比较主牌的大小,例如(5 5 5 K K)和(Q Q Q 3 3),第一个牌型的主牌是5,第二个是Q也就是12,显然(Q Q Q 3 3)大于(5 5 5 K K)。

优化

1. 缓存优化

已经计算的结果,缓存起来,下次直接取来用,不用重复计算。
这里使用我方手牌、对方手牌、上次对方出牌为键,能否必胜为值,存入缓存集合。

2. 多线程优化

将初始的所有出牌n种可能,每一个分发给一个线程(服务器),并发的执行,最后再汇总结果。可以提升n倍的效率。

最后

通过斗地主残局破解算法的研究,我明白了一个道理:人与人的区别主要在于思维方式,一个人的思维方式,决定了他看待世界的角度,一个人的思维方式,决定了一个人的人生高度。

如有不当之处,欢迎指正。

文章知识点与官方知识档案匹配,可进一步学习相关知识算法技能树首页概览33958 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年10月12日
下一篇 2021年10月12日

相关推荐