【发布时间】:2016-05-12 18:09:02
【问题描述】:
我正在尝试创建一个 Javascript 猜谜游戏,其中用户有 10 次尝试猜测 1-999 之间的数字。我必须使用验证号码,使用循环并在用户获得匹配时显示警报以及当他们用完猜测时显示警报。使用数字 45 仅用于测试。每个猜测都应该使用 innerHTML 进行编号和显示。问题是,计数器卡在零位。不知道我错过了什么!代码如下:
function myFunction() {
var userInput = document.getElementById("input").value;
var randomNum = 45;
// test for valid input number from 1 to 999
if (userInput < 0 || userInput > 999) {
alert("Your number must be from 1 to 999");
} else {
alert("Input OK");
}
var counter = 0;
while (counter < 10) {
counter++;
if (userInput == randomNum) {
alert("You win!");
}
if (userInput > randomNum) {
document.getElementById("loopResults").innerHTML += counter + "." + " Your answer: " + userInput + "." + " Guess lower! < br / > ";
alert("You have " + counter + " guesses left.");
} else if (userInput < randomNum) {
document.getElementById("loopResults").innerHTML += counter + "." + " Your answer: " + userInput + "." + "Guess higher! < br / > ";
alert("You have " + counter + " guesses left.");
}
break;
} // end while loop
} // end function myFunction()
【问题讨论】:
-
break结束while循环。 总是你应该考虑把它放在哪里/ -
把break放在else的末尾。
-
中断不是最大的问题,被函数作用域的计数器变量才是。
标签: javascript