Упражнение, которое я делаю, - это написать игру в догадки.
Он просит вас написать функцию для пользователя, чтобы ввести угаданное число, написать вторую функцию для проверки кода, написать третью функцию, которая проверяет число и сообщает пользователю, является ли оно слишком высоким или слишком большим низкий.
Моя проблема в том, что, когда я добираюсь до слишком высокой или слишком низкой части, она перестает проверять, находится ли число между 1 и 100. Я перепробовал все, что я знаю, и я все еще в замешательстве. Код работал иначе, прежде чем я положил в переменную ValidNUm.
Я чувствую, что это может быть простой ответ, и я не понимаю, поэтому извините. Дело в том, что мне нужна игра в угадайку для проверки числа, если они ошибаются, они будут вводить число до тех пор, пока оно не будет правильным, тогда оно сообщит им, что проверенное число слишком велико или слишком мало.
То, что произошло раньше, это то, что он проверяет число, но не передает действительный номер для оценки.
var GuessedNumber, RandomNum, ValidNum;
RandomNum = 24; //Math.floor((Math.random() * 100) + 1);
GuessedNumber = EnterGuess();
ValidNum = ValidateGuess(GuessedNumber);
NumberCheck(GuessedNumber, RandomNum, ValidNum);
function EnterGuess() {
var ArgGuessNum;
ArgGuessNum = parseFloat(prompt("Please guess a number between 1 and 100"));
return ArgGuessNum;
}
function ValidateGuess(ArgGuessNum) {
var ArgValidNum;
while (ArgGuessNum < 1 || ArgGuessNum > 100) {
ArgGuessNum = parseFloat(
prompt("Please guess a valid number between 1 and 100")
);
}
if (ArgGuessNum > 0 || ArgGuessNum < 100) {
ArgValidNum = ArgGuessNum;
return ArgValidNum;
}
alert("valid number");
}
function NumberCheck(ArgGuessNum, ArgRandomNum, ArgValidNum) {
var ctr = 1;
while (ArgValidNum != ArgRandomNum) {
if (ArgValidNum > ArgRandomNum) {
ArgGuessNum = parseFloat(
prompt("Uh-Oh the number is too high! enter another guess")
);
ValidateGuess(ArgGuessNum);
} else if (ArgValidNum < ArgRandomNum) {
ArgGuessNum = parseFloat(
prompt("Uh-Oh the number is too low! enter another guess")
);
ValidateGuess(ArgGuessNum);
}
ctr++;
}
alert("you took " + ctr + " guesses");
}