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;
}