为了账号安全,请及时绑定邮箱和手机立即绑定

2048上下键没有作用,怎么回事?

2048上下键没有作用,怎么回事?

Sumo_dream 2015-05-02 10:19:41
//函数定义键盘移动function moveLeft(){    //判断移动条件    if(!canMoveLeft(board))        return false;    //moveLeft 有空间可以移动    for(var i=0;i<4;i++)        for(var j=1;j<4;j++){            if(board[i][j]!=0){                //与移动方向的数字相同                for(var k=0;k<j;k++){                    if(board[i][k]==0 && noBlockHorizontal(i,k,j,board)){                        //move                        showMoveAnimation(i,j,i,k);                        board[i][k]=board[i][j];                        board[i][j]=0;                        continue;                    }                    else if(board[i][k]==board[i][j]&& noBlockHorizontal(i,k,j,board)){                        //move显示动画                        showMoveAnimation(i,j,i,k);                        //add一个数字                        board[i][k]+=board[i][j];                        board[i][j]=0;                        continue;                        }                }        }    }    //设置移动视图时间    setTimeout("updateBoardView()",200);        return true;}//函数定义键盘移动function moveRight(){    //判断移动条件    if(!canMoveRight(board))        return false;    //moveRight 有空间可以移动    for(var i=0;i<4;i++)        for(var j=2;j>=0;j--){            if(board[i][j]!=0){                //与移动方向的数字相同                for(var k=3;k>j;k--){                    if(board[i][k]==0 && noBlockHorizontal(i,j,k,board)){                        //move                        showMoveAnimation(i,j,i,k);                        board[i][k]=board[i][j];                        board[i][j]=0;                        continue;                    }                    else if(board[i][k]==board[i][j]&& noBlockHorizontal(i,j,k,board)){                        //move显示动画                        showMoveAnimation(i,j,i,k);                        //add一个数字                        board[i][k]*=2;                        board[i][j]=0;                        continue;                        }                }        }    }    //设置移动视图时间    setTimeout("updateBoardView()",200);        return true;}/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这下面的实现不了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*///函数定义键盘移动function moveUp(){    //判断移动条件    if(!canMoveUp(board))        return false;    //moveUp有空间可以移动    for(var j=0;j<4;j++)        for(var i=1;i<4;i++){            if(board[i][j]!=0){                //与移动方向的数字相同                for(var k=0;k<i;k++){                    if(board[k][j]==0 && noBlockHorizontal(j,k,i,board)){                        //move                        showMoveAnimation(i,j,k,j);                        board[k][j]=board[i][j];                        board[i][j]=0;                        continue;                    }                    else if(board[k][j]==board[i][j]&& noBlockHorizontal(j,k,i,board)){                        //move显示动画                        showMoveAnimation(i,j,k,j);                        //add一个数字                        board[k][j]+=board[i][j];                        board[i][j]=0;                        continue;                        }                }        }    }    //设置移动视图时间    setTimeout("updateBoardView()",200);        return true;}//函数定义键盘移动function moveDown(){    //判断移动条件    if(!canMoveDown(board))        return false;    //moveDown有空间可以移动    for(var j=0;j<4;j++)        for(var i=2;i>=0;i--){            if(board[i][j]!=0){                //与移动方向的数字相同                for(var k=3;k>i;k--){                    if(board[k][j]==0 && noBlockHorizontal(j,k,i,board)){                        //move                        showMoveAnimation(i,j,k,j);                        board[k][j]=board[i][j];                        board[i][j]=0;                        continue;                    }                    else if(board[k][j]==board[i][j]&& noBlockHorizontal(j,k,i,board)){                        //move显示动画                        showMoveAnimation(i,j,k,j);                        //add一个数字                        board[k][j]+=board[i][j];                        board[i][j]=0;                        continue;                        }                }        }    }    //设置移动视图时间    setTimeout("updateBoardView()",200);        return true;}/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这里面是否有错~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*///函数定义键盘可以移动时矩形function canMoveLeft(board){    for(var i=0;i<4;i++)        for(var j=1;j<4;j++)            if(board[i][j]!=0)                if(board[i][j-1]==0 || board[i][j-1]==board[i][j])                    return true;    return false;            }//函数定义键盘可以移动时矩形function canMoveRight(board){    for(var i=0;i<4;i++)        for(var j=2;j>=0;j--)            if(board[i][j]!=0)                if(board[i][j+1]==0 || board[i][j+1]==board[i][j])                    return true;    return false;            }//函数定义键盘可以移动时矩形function canMoveUp(board){    for(var j=0;j<4;j++)        for(var i=1;i<4;i++)            if(board[i][j]!=0)                if(borad[i-1][j]==0 || board[i-1][j]==board[i][j])                    return true;    return false;            }//函数定义键盘可以移动时矩形function canMoveDown(board){    for(var j=0;j<4;j++)        for(var i=2;i>=0;i--)            if(board[i][j]!=0)                if(borad[i+1][j]==0 || board[i+1][j]==board[i][j])                    return true;    return false;            }//函数定义左右阻挡物动画效果function noBlockHorizontal(row,col1,col2,board){    for(var i=col1+1 ; i<col2;i++)        if(board[row][i]!=0)            return false;    return true ;}//函数定义上下阻挡物动画效果function noBlockVertical(col,row1,row2,board){    for(var i=row1+1 ; i<row2;i++)        if(board[i][col]!=0)            return false;    return true ;}
查看完整描述

目前暂无任何回答

  • 0 回答
  • 1 关注
  • 1570 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信