3D麻将游戏开发通用算法

通常的3D麻将开发胡牌方式为满足N * ABC + M *DDD +EE 的形式,及存在一个对子(EE),剩余牌均能组成顺子(ABC)或者刻子(DDD)。
三国游网络科技专注3D麻将游戏开发多年  专业源于专注  旗下多款运营级3D麻将


很容易发现必须满足size%3 == 2的形式才可以去计算胡牌。


数据结构的选取:


开发3D麻将麻将有万、饼、条各九种,另外还有东西南北中,春夏秋冬。 
种类不是很多,一个字节表示就可以了,前四位代表类型,后四位代表值,东西南北中,春夏秋冬可以集中到一种类型中去。


3D麻将游戏开发的计算方式:


1.首先找出所有包含一对的情形,移除对子(注意去重),记下剩余牌的所有集合为Tn;
2.针对每个Tn中的数组尝试移除一个顺子,成功转到2,失败到3。
3.针对每个Tn中的数组尝试移除一个刻子(DDD),成功转到2。
4.若当前的数组的数量变为0,则表示,当前的方案可以胡牌。
2,3,4可以作为一个check_3n(检测是否满足N * ABC + M *DDD)的函数,递归调用即可。


癞子3D麻将游戏开发(百搭):


最简单的办法是尝试将癞子牌变为所有派来进行尝试,不过如果手中有多张癞子牌的话计算量就相当大了,比如3张,则需要计算牌的种类的3次方次,虽然中途可以通过剪枝减少部分计算量,但还是太慢了。 
针对这种情况我们可以在计算出癞子的数量,如果出
  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值