向右,不知道对不对

moveRight(){//右移所有行
//为data拍照,保存在before中
var before = String(this.data);
//遍历data中每一行
for(var r=0;r<this.RN;r++){
this.moveRightInRow(r)//右移第r行
}//(遍历结束)
//为data拍照,保存在after中
var after=String(this.data);
//如果发生了移动
if(before!=after){
this.randomNum();//随机生成数
this.updateView();//更新页面
}
},
moveRightInRow(r){//右移第r行
//c从CN-1开始,到>0结束,反向遍历r行中每个格
for (var c=CN-1;c>0;c--){
//找r行c列左侧前一个不为0的位置prevc
var prevc=this.getPrevInRow(r,c);
//如果prevc为-1,就退出循环
if(prevc==-1) break;
else//否则
//如果c列的值是0
if(this.data[r][c]==0){
//将prevc列的值赋值给c列
this.data[r][c]=this.data[r][prevc];
//将prevc列的值置为0
this.data[r][prevc]=0;
c++;//c留在原地
}else if (this.data[r][c]==this.data[r][prevc])
//否则 如果c列的值等于prevc列的值
//将c列的值*2
this.data[r][c]*=2;
//将prevc列置为0
this.data[r][prevc] = 0;
}
},

猜你喜欢

转载自www.cnblogs.com/sske531549304/p/9351005.html
今日推荐