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

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

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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号