canMoveLeft()為什么要加for循環(huán)?還有返回return值后還會繼續(xù)循環(huán)嗎?
function?moveLeft(){ if(?canMoveLeft(board)?)?//canMoveLeft()用于判斷是否可以執(zhí)行左移操作 //canMoveLeft()返回true,下面開始執(zhí)行左移操作 //雖然已經(jīng)確定可以移動了,但是我們還需進(jìn)一步確定該移動到哪個位置 { 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) )語句調(diào)用canMoveLeft(board)函數(shù)后,假如canMoveLeft(board)中的for循環(huán)第一次就返回了true,那之后的循環(huán)還會繼續(xù)嗎?還有moveLeft和canMoveLeft中為什么都要for循環(huán)?一直沒想明白。。這不是重復(fù)了嗎?
2016-04-17
第二個for循環(huán)是為了判斷有一個數(shù)字可以向做移動的話,那么要遍歷一下它所在行的所有元素是否和前一個數(shù)字相等或者前一個格子是否為空,所以這里要遍歷要用for,判斷數(shù)字位子,這個函數(shù)主要作用就是判斷是否能向左移動;第一個for循環(huán)意思也一樣也是遍歷但是牽扯到算法,相同那么就相加,空格那么就前進(jìn);
2016-03-10
不用判斷了撒,可以左移就對了撒,左移的操作是其他函數(shù)函數(shù)操作
2016-03-09
返回true后就跳出循環(huán)了,要判斷每個元素是否可以左移就要循環(huán)撒