var count = CountZero(board);//数一数一共几个空格
var pos = ~~(Math.random() * count)
var flag = 0
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (board[i][j] == 0) {
if (pos == 0) {
flag = 1;
break; //跳出循环时board[i][j]就是随机出来的位置
}
pos--;
}
}
if (flag == 1)
break;
}
var pos = ~~(Math.random() * count)
var flag = 0
for (i = 0; i < 4; i++) {
for (j = 0; j < 4; j++) {
if (board[i][j] == 0) {
if (pos == 0) {
flag = 1;
break; //跳出循环时board[i][j]就是随机出来的位置
}
pos--;
}
}
if (flag == 1)
break;
}
2017-08-30
//随机一个位置,count是空白格子个数
var pos = ~~(Math.random()*count);
var i,j,count=0,flag=0;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(board[i][j]==0)
{
if(pos == 0)
{
flag = 1;
break;//跳出循环时board[i][j]就是随机出来的位置
}
pos--;
}
}
if(flag ==1)
break;
}
var pos = ~~(Math.random()*count);
var i,j,count=0,flag=0;
for(i=0;i<4;i++){
for(j=0;j<4;j++){
if(board[i][j]==0)
{
if(pos == 0)
{
flag = 1;
break;//跳出循环时board[i][j]就是随机出来的位置
}
pos--;
}
}
if(flag ==1)
break;
}
2017-08-28
main2048.js的第130行改为 var randNumber = Math.random() *2< 1 ? 1 : 2;
就不会有0了
就不会有0了
2017-08-21
以我看了几十t的视频经验来看,这个老师也许比较厉害,也许是这个课程做过n次很顺手,但绝对不是一个好讲师, 写那么多代码不调试也不报错,大部分同学看的还是懵逼的。
2017-08-16
其实随机数字优化,可以用空间换时间,设置一个数组,把所有空(最坏情况也就16次判断,比50次好多了)的位置坐标添加进去,然后随机数组的下标即可。
2017-08-16
谢谢老师,有需要的可以fork啦
https://github.com/zhongshanxian/SUM/tree/master/2048
https://github.com/zhongshanxian/SUM/tree/master/2048
2017-08-07