MJ同时有多个操作操作分析

  1. var i = 1;  
  2.     while(true){  
  3.         var i = (i + 1)% 4;  
  4.         console.log("i:::===>>" + i);  
  5.         if(i == 1){  
  6.             console.log("i:::===>>" + i);  
  7.             break;  
  8.         }  
  9.     }

如果有多个玩家同时操作,则需要分清先手顺序。
比如我可以碰牌的时候,如果有玩家可以胡牌,那么我点碰牌的时候就是无用操作,因为走进了else里面的判断,
只有当可以胡牌的玩家,点了过,并且判断还有没有玩家可以继续操作的时候才会往下执行
//如果有人可以胡牌,则需要等待
     var  i =  game. turn;
     while( true){
         var  i = ( i +  1)% 4;
         if( i ==  game. turn){   //其他人没有下面的胡牌操作。
             break;
        }
         else{
             var  ddd =  game. gameSeats[ i];
    //胡的人点了过,之后,这个canHu 的字段就变了,变了之后玩家就可以走上面break的判断了
             if( ddd. canHu &&  i !=  seatData. seatIndex){ 
                 return;
            }
        }
    }



后端处理数据和前段不一样,每一牌桌的数据都是四个人共有的数据,
同一牌桌的每个玩家的操作都是修改的同一组数据,所以在处理玩家有同时操作数据的时候需要分清先手顺序,在代码中加以限制就可以了。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值