Actionscript 3 如何只生成一次从1到100的随机数?

Actionscript 3 如何只生成一次从1到100的随机数?,actionscript-3,random,numbers,Actionscript 3,Random,Numbers,我需要在AS3中生成一个从1到100的随机数,它不会生成两次。所以我需要生成每个数字,直到所有数字都完成。我该怎么做呢?退房 类非重复PRNG{ 私有最终随机rnd=新随机(); 私有最终集=新HashSet(); public int nextInt(){ 对于(;;){ final int r=rnd.nextInt(); if(set.add(r))返回r; } } } 用数字1到100填充数组 随机洗牌(使用Fisher-Yates洗牌) 从第一个数组索引开始取每个数字…用数字1-100

我需要在AS3中生成一个从1到100的随机数,它不会生成两次。所以我需要生成每个数字,直到所有数字都完成。我该怎么做呢?

退房

类非重复PRNG{
私有最终随机rnd=新随机();
私有最终集=新HashSet();
public int nextInt(){
对于(;;){
final int r=rnd.nextInt();
if(set.add(r))返回r;
}
}
}

用数字1到100填充数组

随机洗牌(使用Fisher-Yates洗牌)


从第一个数组索引开始取每个数字…

用数字1-100填充一个数组“\u randomNumbers”。每次需要号码时,请使用以下命令:

if (_randomNumbers.length>0) {
newRandomNumber = _randomNumbers.splice( Math.floor(Math.random(_randomNumbers.length)), 1 )[0];
}

也许我遗漏了一些明显的东西,但为什么要从索引1而不是0开始呢?
if (_randomNumbers.length>0) {
newRandomNumber = _randomNumbers.splice( Math.floor(Math.random(_randomNumbers.length)), 1 )[0];
}