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