Javascript 随机数猜测游戏-限制猜测的次数

Javascript 随机数猜测游戏-限制猜测的次数,javascript,html,Javascript,Html,我试图制作一个程序,生成一个用户猜测的随机数。它还限制了用户可以(或应该)猜测的次数 var上限=5; var randNum=Math.floor((Math.random()*上限)+1); var Allowequesses=2; var numguesss=0; 函数猜测游戏(){ 如果(数值1){ document.numForm.gameResults.value=“对不起,您的猜测太低了。”; numGuesses++; } else if(inputNum>randNum&&in

我试图制作一个程序,生成一个用户猜测的随机数。它还限制了用户可以(或应该)猜测的次数

var上限=5;
var randNum=Math.floor((Math.random()*上限)+1);
var Allowequesses=2;
var numguesss=0;
函数猜测游戏(){
如果(数值1){
document.numForm.gameResults.value=“对不起,您的猜测太低了。”;
numGuesses++;
}
else if(inputNum>randNum&&inputNum
以及HTML:

 <form name = "numForm">
        <fieldset>
            <label for = "randNum">Enter a number between 1 and 5: </label>
            <input type = "text" name = "number" value = "" id = "randNum" size = "1" maxlength = "1" />
        </fieldset>
        <input class = "button" type = "button" name = "submit" onclick = "guessingGame()" value = "Submit Number"  />

        <input class = "button" type = "reset" name = "newGame" onclick = "newGame()" value = "New Game" />
        <fieldset>
            <textarea name = "gameResults"  onclick = "" readonly = "true" value = "" rows = "5" cols = "40" ></textarea>
        </fieldset>
    </form>

输入一个介于1和5之间的数字:
现在,由于highLimit设置为5,程序陷入无限循环。但是如果我把它设为10,程序就会运行。如何修复它,使其以任何值工作?我还希望有其他改进建议


提前谢谢

我想你不需要这个循环。你可以简单地说:

function guessingGame() {
    if (numGuesses < 0){numGuesses=0;}
    if ((numGuesses < allowedGuesses) && (inputNum != randNum)) {                    
            inputNum = document.numForm.number.value;
            inputNum = parseInt(inputNum);


            if (inputNum < randNum && inputNum > 1) {
                document.numForm.gameResults.value = "Sorry, your guess was too low.";
                numGuesses++;
            }

            else if (inputNum > randNum && inputNum < highLimit) {
                document.numForm.gameResults.value = "Sorry, your guess was too high.";
                numGuesses++;
            }
            else if (inputNum == randNum) {
                document.numForm.gameResults.value = "Congratulations! You guessed correctly.";
                numGuesses++;
            }

            else {
                document.numForm.gameResults.value = "Your guess was out of the desired parameters. Please guess again.";
                numGuesses--;
            }
    }

        else {
            document.numForm.gameResults.value = "Sorry, you have reached the allowed number of guesses, which is " + allowedGuesses + "." + " Click 'New Game' to try again.";
        }
    return false;
}
函数猜测游戏(){
如果(numGuesses<0){numGuesses=0;}
如果((numguesss1){
document.numForm.gameResults.value=“对不起,您的猜测太低了。”;
numGuesses++;
}
else if(inputNum>randNum&&inputNum

如果(numguesss<0){numguesss=0;}
也会有帮助。对于负面情况。

我不知道这种方法如何工作。
while
循环只会反复检查
document.numForm.number.value
中的相同值,而不给用户输入另一个值的机会。您需要取消循环,并在每次单击按钮时增加一次
numguesss
。如何更改程序,以便使用循环允许多次尝试?
function guessingGame() {
    if (numGuesses < 0){numGuesses=0;}
    if ((numGuesses < allowedGuesses) && (inputNum != randNum)) {                    
            inputNum = document.numForm.number.value;
            inputNum = parseInt(inputNum);


            if (inputNum < randNum && inputNum > 1) {
                document.numForm.gameResults.value = "Sorry, your guess was too low.";
                numGuesses++;
            }

            else if (inputNum > randNum && inputNum < highLimit) {
                document.numForm.gameResults.value = "Sorry, your guess was too high.";
                numGuesses++;
            }
            else if (inputNum == randNum) {
                document.numForm.gameResults.value = "Congratulations! You guessed correctly.";
                numGuesses++;
            }

            else {
                document.numForm.gameResults.value = "Your guess was out of the desired parameters. Please guess again.";
                numGuesses--;
            }
    }

        else {
            document.numForm.gameResults.value = "Sorry, you have reached the allowed number of guesses, which is " + allowedGuesses + "." + " Click 'New Game' to try again.";
        }
    return false;
}