该程序是一个高低猜测游戏,其中随机数是从用户输入的特定范围内生成的,用户必须猜测该随机数。使用特定范围内的随机数猜测游戏
我在想,如果targetNumber或currentGuess有问题。该程序似乎工作得很好,但是当我输入currentGuess数字时,对话框要么再次弹出或者告诉我太大,再次尝试,即使数字小于数字范围。
另外,我想让用户在输入targetMax和targetMin时不能输入十进制数或其他字符。
var keepPlaying = true;
var currentGuess = 0;
var targetMax = null;
var targetMin = null;
var targetNumber = parseInt(targetMin + Math.random()*((targetMax - targetMin)+1));
var turnCounter = 1;
targetMax = prompt("Choose a whole number to set your maximum parameter.");
targetMin = prompt("Choose a whole number to set your minimum parameter.");
while (keepPlaying) {
//get a valid guess
do {
currentGuess = prompt("Please guess a whole number between " +targetMin+ " and " +targetMax+ ".", "");
}
while (!((currentGuess > targetMin) && (currentGuess <= targetMax)))
//handle the guess
if (currentGuess == targetNumber) {
alert("YOU'RE RIGHT!!!\n\nIt took you " + turnCounter + " tries to guess the number.");
keepPlaying = confirm("Do you want to play again?")
if (!keepPlaying) {
break; //not needed, just wanted to show how to exit a loop early
}
//reset game
targetNumber = parseInt(targetMin + Math.random()*((targetMax-targetMin)+1));
turnCounter = 0;
} else if (currentGuess > targetNumber) {
alert("Too big, try again.");
} else if (currentGuess < targetNumber) {
alert("Too small, try again.");
} else { //should be inaccessible
alert("There was an error parsing your guess.");
}
//update counter
turnCounter++;
}
document.write("<h1>Thank you for using my <font color='red'>AWESOME</font>, web-based guessing game.</h1>");
您在提示用户输入最大和最小参数之前设置您的'targetNumber'。另外,Java和Javascript不是一回事,这个问题与Java没有任何关系。 –
@AaronD听起来像是解决方案,你应该提交一个答案。 – Jeriko