可以把沒有數據的坐標取出來,在這個一部分沒數據的數組里面循環。。。每次肯定能隨機到一個數據
//隨機一個位置
var fgf = new Array();
for(var i = 0; i < 4; i ++)
for(var j = 0; j < 4; j ++){
if(board[i][j] == 0){
var temp = new Array(i,j)
fgf.push(temp);
}
}
//隨機一個位置
var fgf = new Array();
for(var i = 0; i < 4; i ++)
for(var j = 0; j < 4; j ++){
if(board[i][j] == 0){
var temp = new Array(i,j)
fgf.push(temp);
}
}
2016-12-31
function canMoveRight(board){
for(var i = 0; i < 4; i ++)
for(var j = 0; j < 3; j ++)
if(board[i][j] != 0)
if(board[i][j+1] == 0 || board[i][j+1] == board[i][j])
return true;
return false;
}
我自己寫的moveRight應該可以這樣寫吧。。。
for(var i = 0; i < 4; i ++)
for(var j = 0; j < 3; j ++)
if(board[i][j] != 0)
if(board[i][j+1] == 0 || board[i][j+1] == board[i][j])
return true;
return false;
}
我自己寫的moveRight應該可以這樣寫吧。。。
2016-12-31
@帥得被人砍 我從未見過如此厚顏無恥之人,居然還有人給他點贊。。。都什么玩意啊,免費教你還不學,非得一口一口塞你嘴里才行,無論是生活,還是學程序都要懷著感恩的心,沒有人有責任教你任何免費東西,除非你交學費。我覺得老師講的很好,我一般先一口氣看一遍視頻,有個思路,然后再看第二遍視頻打代碼,肯定會遇到各種各樣的問題,然后去百度,這樣才能成長啊??!如果你打了一遍都是你會的,或者你不會但是通過了,打了一遍也沒多大長進?。。?!
2016-12-31
var spareCellNum=0;
var spare= new Array();
for( var i = 0 ; i < 4 ; i ++ )
for( var j = 0 ; j < 4 ; j ++ )
if (board[i][j] == 0) spare[spareCellNum++]=j+(i*10);
var rand = parseInt(Math.floor( Math.random() * spareCellNum ));
var randx= parseInt(spare[rand]/10);
var randy=spareCell[rand]%10;
var spare= new Array();
for( var i = 0 ; i < 4 ; i ++ )
for( var j = 0 ; j < 4 ; j ++ )
if (board[i][j] == 0) spare[spareCellNum++]=j+(i*10);
var rand = parseInt(Math.floor( Math.random() * spareCellNum ));
var randx= parseInt(spare[rand]/10);
var randy=spareCell[rand]%10;
2016-12-16
canMove()4個判斷函數有bug啊,當有一行(一列)已經滿了且無法合并的時候,無法左右(上下)移動,所以無法生成新數字。按原版,此時應該還可以生成新數字,只是格局沒變化而已。
2016-12-09
用canvas繪制的2048游戲,采用了自適應布局,邏輯和老師有些不一樣,供大家查閱和參考。https://github.com/honeyjie/2048
2016-11-15