我正在做的练习是写一个猜谜游戏。
它要求您编写一个函数让用户输入猜测的数字,编写第二个函数来验证代码,编写第三个函数来检查数字并告诉用户它是否太高或太低。
我的问题是,当我到达过高或过低的部分时,它会停止验证数字是否在 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");
}
心有法竹
扬帆大鱼
随时随地看视频慕课网APP
相关分类