为了账号安全,请及时绑定邮箱和手机立即绑定

为什么会出现在同一个盒子生成数字?

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;


}



正在回答

1 回答

你是想问这段代码为什么要判断同一个格子生成两个数字的情况么?

因为随机数无法做判重处理,所以得通过一步if操作来进行判断;

如果格子有数字,那么这个位置的数组值肯定不为0;如果为0,说明这个格子还没有数字,之后才能往这个位置写入数字

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么会出现在同一个盒子生成数字?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信