canMoveLeft()為什么要加for循環?還有返回return值后還會繼續循環嗎?
function?moveLeft(){
if(?canMoveLeft(board)?)?//canMoveLeft()用于判斷是否可以執行左移操作
//canMoveLeft()返回true,下面開始執行左移操作
//雖然已經確定可以移動了,但是我們還需進一步確定該移動到哪個位置
{
for(?var?i?=?0;i?<?4;i++)
for(?var?j?=?1;j?<?4;j++)
}
return?false;
}
function?canMoveLeft(board){
//元素是否可以左移需要滿足如下情況的一種
//1.左右元素大小相等
//2.左邊的格子為空,不含元素
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;
}代碼如上。moveLeft里的if( canMoveLeft(board) )語句調用canMoveLeft(board)函數后,假如canMoveLeft(board)中的for循環第一次就返回了true,那之后的循環還會繼續嗎?還有moveLeft和canMoveLeft中為什么都要for循環?一直沒想明白。。這不是重復了嗎?
2016-04-17
第二個for循環是為了判斷有一個數字可以向做移動的話,那么要遍歷一下它所在行的所有元素是否和前一個數字相等或者前一個格子是否為空,所以這里要遍歷要用for,判斷數字位子,這個函數主要作用就是判斷是否能向左移動;第一個for循環意思也一樣也是遍歷但是牽扯到算法,相同那么就相加,空格那么就前進;
2016-03-10
不用判斷了撒,可以左移就對了撒,左移的操作是其他函數函數操作
2016-03-09
返回true后就跳出循環了,要判斷每個元素是否可以左移就要循環撒