qq_慕桂英6165387
2019-09-21 19:04
function generateOneNumber() {
if (nospace(board))
return false;
// 随机一个位置
var randx = parseInt(Math.floor(Math.random() * 4));
var randy = parseInt(Math.floor(Math.random() * 4));
while (true) {
if (board[randx][randy] == 0)
break;
randx = parseInt(Math.floor(Math.random() * 4));
randy = parseInt(Math.floor(Math.random() * 4));
}
// 随机一个数字
var randNumber = Math.random() < 0.5 ? 2 : 4;
// 在随机的位置显示随机数字
board[randx][randy] = randNumber;
showNumberWithAnimation(randx, randy, randNumber);
return true;
}
你是想问这段代码为什么要判断同一个格子生成两个数字的情况么?
因为随机数无法做判重处理,所以得通过一步if操作来进行判断;
如果格子有数字,那么这个位置的数组值肯定不为0;如果为0,说明这个格子还没有数字,之后才能往这个位置写入数字
慕课网2048私人订制
70013 学习 · 588 问题
相似问题