MJ胡牌思路

//逐个检查
        var tingMaps = {};
        console.log(tingMaps == {});
        for (var i = 0; i < seatData.holds.length; ++i) {
            var t = seatData.holds.shift();
            seatData.countMap[t]--;
            if (tingMaps[t] == null) {
                cc.vv.mjutil.updateTingMap(seatData, [31]);
                tingMaps[t] = seatData.tingMap;
            }
            seatData.holds.push(t);
            seatData.countMap[t]++;
        }
        console.log(tingMaps);

逐个检查听牌。 

其实MJ听牌的思路捋顺了很简单的。

首先是手里有十四张牌,打那张牌就模拟把哪一张牌去掉就可以了,这时遍历14张,模拟去掉任意一张牌,剩13张牌。

然后再从34张牌里面把每一张牌都尝试添加到拥有的牌里面,这时就是14张牌了。

这时看补得这张牌能不能胡,如果能胡,那么这张牌就是在打出牌后听牌要胡的牌。循环遍历34次,看所有能胡的牌。


shift()去掉首牌,然后检查是否听牌胡牌,然后检查完后还原,添加到数组的最后面用push()方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值