我正在尝试制作一个简单的JavaScript猜谜游戏,我的for循环一直被跳过!以下是我的代码中被跳过的部分:
for (i = 0; i === tries; i += 1) {
isSkipped = false;
var guessedNumber = prompt("Guess your number now.");
console.log("User guessed number " + guessedNumber);
//check if number is correct
if (guessedNumber === numberToGuess) {
confirm("Hooray, you have guessed the number!");
break;
} else if (guessedNumber > numberToGuess) {
confirm("A little too high...");
} else {
confirm("A little too low...");
}
}
这是完整的代码:
//declaring variables
var numberToGuess;
var tries;
var i;
var isSkipped = true;
var confirmPlay = confirm("Are you ready to play lobuo's guessing game? The number for you to guess will be a number ranging from 1 to 25."); //does the user want to play?
if (confirmPlay === true) {
console.log("User wants to play");
} else {
window.location = "http://lobuo.github.io/pages/experiments.html";
} //if user wants to play, let them play, else go to website homepage
numberToGuess = Math.floor((Math.random() * 25) + 1); //sets computer-generated number
tries = prompt("How many tries would you like?"); //gets amount of tries
tries = Math.floor(tries); //converts amount of tries to integer from string
for (i = 0; i === tries; i += 1) {
isSkipped = false;
var guessedNumber = prompt("Guess your number now.");
console.log("User guessed number " + guessedNumber);
//check if number is correct
if (guessedNumber === numberToGuess) {
confirm("Hooray, you have guessed the number!");
break;
} else if (guessedNumber > numberToGuess) {
confirm("A little too high...");
} else {
confirm("A little too low...");
}
}
if (isSkipped === true) {
console.log("Oh no! The for loop has been skipped!");
}
如果您需要任何进一步的细节,请询问。
答案 0 :(得分:2)
不应该是这样的吗?:
for (i = 0; i < tries; i += 1) {
答案 1 :(得分:0)
您还需要在用户输入上使用parseInt()
功能。
var guessedNumber = parseInt(prompt("Guess your number now."), 10);
而不是
var guessedNumber = prompt("Guess your number now.");
答案 2 :(得分:0)
当你写:
for (i = 0; i === tries; i += 0) {
只要条件i === tries
为真,循环就会重复。例如,如果tries
为3,则在第一次迭代时该条件不成立,并且循环立即结束。
你应该写:
for (i = 0; i < tries; i++) {