簡體   English   中英

我如何獲取while循環以將其結果存儲在數組中,並重復10次?

[英]How do I get my while loop to store its result in an array, and repeat 10 times?

我已經看到了堆棧上與其他問題相關的鏈接,但老實說,它們的格式都是我這樣的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循環已經設置了退出條件,您將獲得與上一次迭代相同的結果。

實時示例: http//jsfiddle.net/o8ecndas/2/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM