问答详情
源自:3-4 交互逻辑调试

为什么我的代码在执行到如下图的时候,左右可以动,但是增加不了新数字,为什么,纠结,是moveright的问题吗

http://img.mukewang.com/57e220b40001dc1607580645.jpgfunction moveLeft(){
       if(!canmoveleft(borde))
       return false ;
   for(var i=0;i<4;i++)
           for(var j=1;j<4;j++){

               if(borde[i][j] != 0){

                   for(var k=0;k<j;k++){
                       if(borde[i][k]==0 && noBordeHirontal(i,k,j,borde)){
                           secondAnimation(i,j,i,k);
                           borde[i][k]=borde[i][j];
                           borde[i][j]=0;

                           continue;
                       }
                       else if(borde[i][j]==borde[i][k] && noBordeHirontal(i,k,j,borde) && !hasconflicted[i][k]){
                           secondAnimation(i,j,i,k);
                           borde[i][k]+=borde[i][j];
                           borde[i][j]=0;
                           hasconflicted[i][k]=true;
                           continue;
                       }
                   }
               }
           }

提问者:慕雪3673991 2016-09-21 13:57

个回答

  • Leo_林
    2016-10-09 13:56:03

    如这样
    if (moveLeft()) {
        setTimeout(generateOneNumber, 210);
        setTimeout(isGameOver, 300);
    }

  • Leo_林
    2016-10-09 13:51:10

    你可能在keydown中没有添加generateOneNumber()

  • 前端小妹妹
    2016-09-25 20:09:15

     secondAnimation(i,j,i,k);
                               borde[i][k]+=borde[i][j];
                               borde[i][j]=0;

                                score +=borde[i][k];//添上这个试试
                               hasconflicted[i][k]=true;