1. 比较牌型大小总原则:

(a) 火箭最大,可以打任意其他的牌。

(b) 炸弹比火箭小,比其他牌大。都是炸弹时按牌的分值比大小。

(c)  除火箭和炸弹外,其他牌必须要牌型相同且总张数相同才能比大小。

相同牌型按牌的分值比大小。 依次是 大王 > 小王 >2>A>K>Q>J>10>9>8>7>6>5>4>3 ,不分花色。

顺牌按最大的一张牌的分值来比大小。

飞机带翅膀和四带二按其中的三顺和四张部分来比,带的牌不影响大小。

2. 检测牌能不能出:

checkCards(List<Card> current, List<Card> oppo)

我的出的牌的牌型(myType),对家出的牌型(oppoType)。

如果我的myType为火箭,那一定能出。

如果我的myType为炸弹,oppoType不是炸弹,也不是火箭,那也一定能出。

如果myType不为炸弹(包括火箭),myType 不等于oppoType,那么牌不能出。

如果myType不为炸弹(包括火箭),我出的牌数量 不等于对家出的牌的数量,那么牌不能出。

如果二个人出的牌都为单,对,3张,炸弹,顺子,连队,飞机不带(c1,c2,c3,c4,c123,c1122,c111222),比较current.get(0)的牌值和oppo.get(0)的牌值,如果大,则可以出。

如果二个人出的牌都为3带1,3带2,4带2个单,或者一对,4带2对 ,飞机带单排,飞机带对子(c31,c32,c411,c422,c11122234,c1112223344)。我们分别获取current和oppo所有牌当中重复数次最多的牌,并比较此牌,如果大,则可以出。(如:current:  5556,oppo:   9994,那么重复数次最多的牌分别了5,9,因为小,所以不能出)。

参考资料:

1.斗地主算法的设计与实现(三)--如何比较两手牌的大小

http://blog.csdn.net/fansunion/article/details/12611853

斗地主系列之牌型大小比较相关推荐

  1. 计算6+德州扑克各个牌型的概率

    为了回答该知乎问题(https://www.zhihu.com/question/57408133/answer/152920354)而写就的程序. 6+德州扑克的规则,就是在传统52张牌德州扑克的基 ...

  2. 【吟风听云】推锅扑克牌型规则说明(端锅子牌型说明/扑克版牌九规则)

    #Y0101 浮生无事一朝轻,且吟尘风听闲云 --<吟风听云集>@CuPhoenix [阅前敬告] <吟风听云集>收录尘世闲闻,供君同赏 仅代表该内容可能存在的某一版本,不保证 ...

  3. 斗地主AI算法——第六章の牌型判断

    本章实现了上一章提到的检查当前是否只是一手牌函数ins_SurCardsType /* 检查剩余的牌是否只是一手牌是: 返回手牌类型数据 不是:返回错误类型(cgERROR) */ CardGroup ...

  4. python斗地主出牌算法_斗地主之用蚁群算法整理牌型:如何进行牌力估计

    我们在前面讲到过,各牌手的牌力估计就是我们在用蚁群算法构造最优牌型时的启发性知识.启发性知识其实就是我们利用自己的经验对事物做出的判优性评估,或者说就是对事物价值的判断. 原则上,应用蚁群算法需要用到 ...

  5. java斗地主比大小_斗地主算法的设计与实现(三)--如何比较两手牌的大小

    本篇主要讲解斗地主中如何比较两手牌的大小. 友情提示:本篇是接着以下两篇文章就讲解的,建议先看看下面这2篇. 牌型比较 火箭最大:炸弹次之:再次是一般牌型(单牌.对牌.三张牌.三带一.单顺.双顺.三顺 ...

  6. 斗地主算法的设计与实现(三)--如何比较两手牌的大小

    本篇主要讲解斗地主中如何比较两手牌的大小. 友情提示:本篇是接着以下两篇文章就讲解的,建议先看看下面这2篇. 斗地主算法的设计与实现--如何判断一手牌的类型(单,对子,三不带,三带一,四代二等) 斗地 ...

  7. 斗地主之用蚁群算法整理牌型-如何进行牌力估计

    我们在前面讲到过,各牌手的牌力估计就是我们在用蚁群算法构造最优牌型时的启发性知识.启发性知识其实就是我们利用自己的经验对事物做出的判优性评估,或者说就是对事物价值的判断. 原则上,应用蚁群算法需要用到 ...

  8. 斗地主不算花色算大小王,起初发到的17张牌有多少种?

    2015-02 初写 用动态规划算法来求,设 d p [ j ] dp[j] dp[j]表示选了 j j j张牌的种类数 起初 d p [ j ] = 0 ( j > 0 ) , d p [ 0 ...

  9. 斗地主含赖子的牌型判断算法

    目标 打出n张牌(可能含有赖子),需要判断这n张牌能组成什么牌型(对子.顺子.飞机-). 整体思路:假设我们已经提前那种牌作为癞子. 整体思路 1.找出n张牌中的赖子,假设有m个赖子 2.计算出这剩余 ...

  10. 斗地主检测牌型(玩家)

    BRANDSTATUS JudgeVOwn()//检测牌型是否合法可出{List<Card> vTemp = SelectedCard;//选择的牌Sort(vTemp,false);// ...

最新文章

  1. 打印零与奇偶数(多线程)
  2. HTML5 script 标签的 crossorigin 和integrity属性的作用
  3. SQL查询案例:行列转换[行转列, 使用 CASE WHEN 处理]
  4. 程序出错后,程序员给测试人员的20条高频回复
  5. Eurasia3 支持百万级用户的服务器和框架 - 国内开源项目介绍
  6. 外链引入css有哪些方式_HTML+CSS基础(三) CSS的引入方式和CSS选择器
  7. 工作流实战_13_flowable 待办任务列表查询
  8. python内置对象是什么_#【Python】【基础知识】【内置对象常用方法】
  9. servlet3.0注解loadOnStartup不起作用解决方案
  10. 计算机辅助工程分析及应用论文,计算机辅助工程计量的论文
  11. 【Git】IDEA项目关联Git的解决方案
  12. qt运行时间越长越卡_Qt开源作品22-运行时间记录类
  13. 【clickhouse】clickhouse表引擎之ReplacingMergeTree
  14. 【重磅】人工智能长篇报告:1.5万字告诉你AI的应用究竟对人类社会经济有哪些影响...
  15. 问题记录 | 配置ubuntu18.04+cuda9.0+cudnn服务器tensorflow-gpu深度学习环境
  16. 打车软件系统分析与设计方案
  17. PHP endif、endwhile、endfor、冒号、switch、foreach使用介绍、Heredoc 、Nowdoc
  18. DFI、DPI、端口识别技术
  19. 超级玛丽亚游戏开发素材
  20. [Android] 该文件包与具有同一名称的现有文件包存在冲突

热门文章

  1. 面向接口编程的一些总结
  2. 关于面向接口编程,你真的弄懂了吗?
  3. z世代消费力白皮书_谁在影响2.6亿年轻人的消费?Z世代消费力白皮书2019|企鹅智库...
  4. springboot 整合 ftps
  5. ShuffleNet: An Extremely Efficient Convolutional Neural Network for Mobile Devices (翻译)
  6. S一文读懂应力集中与应力奇异
  7. DIV 内容上下居中
  8. Iphone8如何投屏到电脑 苹果手机投屏到电脑
  9. vue引入,两种组件库vant,vue-ydui变量冲突问题
  10. idea社区版已经足够强大了