可以把没有数据的坐标取出来,在这个一部分没数据的数组里面循环。。。每次肯定能随机到一个数据
//随机一个位置
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