var can_use_board=[];
//随机生成一个数字
function generateOneNumber(){
if(nospace(board)){
return false;
//随机位置
var rand=Math.floor(Math.random()*can_use_board.length)
var randx=rand[0];
var randy=rand[1];
//随机数字
//随机位置显示随机数
}
else{
return true;
}
}
//判断盘面是否有空格
function nospace(board){
for(var i=0;i<4;i++)
for(var j=0;j<4;j++){
if(board[i][j]==0){
can_use_board+=[i,j];
}
else{
continue;
}
}
if(can_use_board==null){
return true;
}
else{
return false;
}
}
var rand=Math.floor(Math.random()*can_use_board.length)
这句话不是应该生成一个随机数吗,后面的rand[0]跟rand[1]是哪来的呢
function onemoreSpace(board){
var spaceCell = new Array();
var k = 0;
for (var i = 0; i < 4; i++) {
for (var j = 0; j <4 ; j++) {
if (0==board[i][j]) {
spaceCell[k++] = i*4+j;
}
}
}
return 0!=spaceCell.length ? spaceCell : false;
}
function randOneNum(){
if( voidCell = onemoreSpace(board))
{
// 在可用空间中随机选一个
var randWhere = Math.floor(Math.random() * voidCell.length);
// 随机生成2或4
var randNum = Math.random() < 0.5? 2 : 4;
var x = parseInt(voidCell[randWhere]/4);
var y = voidCell[randWhere]%4;
board [x][y] = randNum;
}
}
我是这样写的 亲测可用!