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

noBlockHorizontal函数的问题

为什么我把函数写成:

function noBlockHorizontal(row,col1,col2,board){
 for(var i=col1+1;i<col2;i++)
 if(board[row][i]==0)
   return true;
   return false;
 }

就会出现第二列不能移动的bug,这段代码和原代码的意思不是一样的吗。

原代码:

function noBlockHorizontal( row , col1 , col2 , board ){
    for( var i = col1 + 1 ; i < col2 ; i ++ )
        if( board[row][i] != 0 )
            return false;
    return true;
}

正在回答

2 回答

源代码是只要有一个board[row][i]不等于0,函数就返回false,只有所有的board[row][i]都为0,函数才返回true。

而你写的代码意思完全不同,只要有一个board[row][i]等于0,函数就返回true,只有所有的board[row][i]都不等于0,才会返回false。

0 回复 有任何疑惑可以回复我~
#1

慕沐6092693 提问者

非常感谢!
2016-11-01 回复 有任何疑惑可以回复我~

如果你和老师一样不喜欢用{}的话,记得调整好每句话的空格位置,不然逻辑会很混乱

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

noBlockHorizontal函数的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信