2015-11-03 84 views
-1

我正在嘗試創建一個數字生成器遊戲,其中用戶有5個猜測來猜測正確的數字(1和10之間)。我的代碼是:在JavaScript中創建隨機數生成器遊戲,無法獲得While循環以保持循環

/* Random number generator that compares itself with the user input */ 

var randomGenerator = Math.floor(Math.random() * 10) + 1; 
var turns = 5; 

while (turns > 0); { 
    var user = prompt("Pick a number between one through ten"); 
    var userInput = parseInt(user); 

    if(userInput === randomGenerator) { 
    alert("You got it!"); 
    turns = 0; 
    } else if (userInput > randomGenerator) { 
    alert("Guess lower!"); 
    --turns; 
    } else if (userInput < randomGenerator) { 
    alert("Guess higher!"); 
    --turns; 
    } 
} 

alert("The number was " + randomGenerator); 

該代碼運行一次並停止。我希望它一遍又一遍地運行,直到他們猜測出來或猜測出正確的數字。

+4

刪除';'剛剛'while'... –

+0

謝謝。我這樣做,但代碼仍然運行相同。 – user3734957

+2

不,它工作正常。 –

回答

2

你有分號後同時 刪除,它會工作得很好

+0

嗯。我想知道爲什麼它不這樣工作。我正在用JS Bin編寫代碼,並且一旦我的文本編輯器運行正確,它就會將其傳輸到我的文本編輯器。 – user3734957

+0

我認爲js bin有一些保護,爲了防止無限循環,它會停止迭代 –

+0

將代碼添加到文本編輯器,並且它在瀏覽器中完美運行。感謝幫助! – user3734957

1

我會做這樣的事情對於瀏覽器....

// browser with jquery 
(function() { 
    var guesses = 5; 
    var myRandomNumber = random; // Get random number however you choose 

    $('#guessInput').on('submit', function (e) { 
      var guess = $(this).val(); 
      if(guess == myRandomNumber) { 
       // show user congratulations 
      } else { 
       guesses -= 1; 
      } 
      if (guesses === 0) { 
       // say sorry you are out of guesses 
       $(this).prop("disabled", true); 
      } 
    }); 
}()); 

您將有此鏈接一個實際提交然後測試輸入的按鈕,而不是我給你的東西。