我已经看到了堆栈上与其他问题相关的链接,但老实说,它们的格式都是我这样的JavaScript新手无法理解的。
var currentMMR = 3330;
var desiredMMR = 4000;
var playerWinrate = 50;
var array = [];
function calculate() {
//Gets the amount of games you need to win
var gamesToWin = (desiredMMR - currentMMR) / 25;
var gamesToPlay = 0;
var progress = currentMMR;
var endgoal = desiredMMR;
var numbersInArray = 0;
while(numbersInArray < 10) {
while(progress < endgoal) {
if(getRandomNumber() >= playerWinrate) {
gamesToPlay = gamesToPlay +1;
progress = progress + 25;
} else {
gamesToPlay = gamesToPlay +1;
progress = progress - 25;
}
}
array.push(gamesToPlay);
numbersInArray++;
}
alert(numbersInArray);
}
//Creates a random number between 1-100
function getRandomNumber() {
var randomNumber = Math.floor((Math.random() * 100) + (playerWinrate/10));
return randomNumber;
}
到目前为止,我所做的是创建一个while循环,该循环从上面的变量获取数字,使用1到100之间的随机数进行一些计算,然后返回该数字。
while(progress < endgoal) {
if(getRandomNumber() >= playerWinrate) {
gamesToPlay = gamesToPlay +1;
progress = progress + 25;
} else {
gamesToPlay = gamesToPlay +1;
progress = progress - 25;
}
}
试图让它在每次运行后都存储其编号,并且只重复执行10次
while(numbersInArray < 10) {
while(progress < endgoal) {
if(getRandomNumber() >= playerWinrate) {
gamesToPlay = gamesToPlay +1;
progress = progress + 25;
} else {
gamesToPlay = gamesToPlay +1;
progress = progress - 25;
}
}
array.push(gamesToPlay);
numbersInArray++;
}
当我提醒阵列进行测试时,我得到10个数字,但它们都是相同的。
我如何使原始的while循环存储重复并存储其他变量。
在while
循环内部,您需要重置几个变量。
while(numbersInArray < 10) {
gamesToPlay = 0;
progress = currentMMR;
....
否则,内部while
循环已经设置了退出条件,您将获得与上一次迭代相同的结果。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句