斗地主系列之牌型大小比较

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



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hfreeman2008

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值