通常的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次方次,虽然中途可以通过剪枝减少部分计算量,但还是太慢了。
针对这种情况我们可以在计算出癞子的数量,如果出
三国游网络科技专注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次方次,虽然中途可以通过剪枝减少部分计算量,但还是太慢了。
针对这种情况我们可以在计算出癞子的数量,如果出