我想知道如何制作一个必须猜测正确数字的1-5循环,1-500。
每个循环都应该有一个新的唯一编号,以前没有被猜到过。但是它应该以随机顺序猜测。
是:
351,201,97 ......
没有
1,2,3,4,5,5 ...
到目前为止我的代码:
var number;
setInterval(function(){
number = Math.floor(Math.random() * 500) + 1;
console.log(number);
if (number == 350) {
console.log("Correct Number!")
}
}, 1000)
答案 0 :(得分:1)
这是我尝试使用一个数字在500以上的数组上使用fisher yates shuffle来解决您的问题。
Copy items if needed
使用随机数进行猜测是通过使用所有可能数字的随机数来进行的,这意味着它不会被再次猜到。
答案 1 :(得分:-1)
您需要存储已经发出的数字。 如果你遇到了一个已经randomed的号码,那就再次随机。
var usedNumbers = [];
var interval = setInterval(function(){
var number = Math.floor(Math.random() * 500) + 1;
while(usedNumbers.includes(number)){
number = Math.floor(Math.random() * 500) + 1;
}
usedNumbers.push(number);
if (number == 350){
console.log("Correct Number!");
clearInterval(interval);
return;
}
console.log(number);
}, 500)