var count = CountZero(board);//數(shù)一數(shù)一共幾個(gè)空格
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; //跳出循環(huán)時(shí)board[i][j]就是隨機(jī)出來(lái)的位置
}
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; //跳出循環(huán)時(shí)board[i][j]就是隨機(jī)出來(lái)的位置
}
pos--;
}
}
if (flag == 1)
break;
}
2017-08-30
//隨機(jī)一個(gè)位置,count是空白格子個(gè)數(shù)
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;//跳出循環(huán)時(shí)board[i][j]就是隨機(jī)出來(lái)的位置
}
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;//跳出循環(huán)時(shí)board[i][j]就是隨機(jī)出來(lái)的位置
}
pos--;
}
}
if(flag ==1)
break;
}
2017-08-28
main2048.js的第130行改為 var randNumber = Math.random() *2< 1 ? 1 : 2;
就不會(huì)有0了
就不會(huì)有0了
2017-08-21
以我看了幾十t的視頻經(jīng)驗(yàn)來(lái)看,這個(gè)老師也許比較厲害,也許是這個(gè)課程做過(guò)n次很順手,但絕對(duì)不是一個(gè)好講師, 寫(xiě)那么多代碼不調(diào)試也不報(bào)錯(cuò),大部分同學(xué)看的還是懵逼的。
2017-08-16
其實(shí)隨機(jī)數(shù)字優(yōu)化,可以用空間換時(shí)間,設(shè)置一個(gè)數(shù)組,把所有空(最壞情況也就16次判斷,比50次好多了)的位置坐標(biāo)添加進(jìn)去,然后隨機(jī)數(shù)組的下標(biāo)即可。
2017-08-16
謝謝老師,有需要的可以fork啦
https://github.com/zhongshanxian/SUM/tree/master/2048
https://github.com/zhongshanxian/SUM/tree/master/2048
2017-08-07