我正在尝试创建一个非常简单的javascript,要求用户选择1到10,000之间的数字。然后,计算机应该尝试猜测该数字并显示正确猜测所需的尝试次数。
但是,当我运行它时,它不会提示用户或显示任何尝试。我可能错过了一些明显而清晰的东西。有人能给我一些见解吗?
ACE_TCHAR
答案 0 :(得分:0)
您似乎通过几个不同的名称来调用用户输入的数字。当您获取用户输入时,请将其称为userPick
,但在while循环和输出中,您将计算机生成的数字与randomNumber
而不是userPick
进行比较。
为防止代码在用户输入任何内容时运行,while循环和输出应围绕NaN进行检查。
以下是更新后的代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Guess the Number</title>
<link rel="stylesheet" href="css/styles.css">
</head>
<body>
<h1>Test</h1>
<script>
var upper = 10000;
var userPick = parseInt(prompt('Pick a number between 1 and 10,000'))
var computerGuess = getRandomNumber(upper);
var attempts = 0;
function getRandomNumber(upper) {
return Math.floor(Math.random()*upper) + 1;
}
if(!isNaN(userPick)) {
while(computerGuess !== userPick){
attempts+=1;
computerGuess = getRandomNumber(upper);
}
document.write('<p>Your number was ' + userPick + '. The computer guessed this number after ' + attempts + ' attempts.</p>')
} else {
document.write('<p>Invalid Input</p>')
}
</script>
</body>
</html>
以下是以1-25:http://plnkr.co/edit/57iloqjWFQPifPluFkBu?p=preview
运行的示例