Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在特定范围内使用随机数的猜谜游戏_Javascript - Fatal编程技术网

Javascript 在特定范围内使用随机数的猜谜游戏

Javascript 在特定范围内使用随机数的猜谜游戏,javascript,Javascript,该程序是一个高低猜测游戏,其中从用户输入的特定范围生成一个随机数,用户必须猜测该随机数 我想知道targetNumber或currentGuess是否有问题。该程序一开始似乎工作正常,但当我输入currentGuess数字时,对话框要么再次弹出,要么告诉我太大,即使数字小于数字范围,也要重试 此外,我还想让用户在输入targetMax和targetMin时不能输入十进制数字或其他字符 var keepPlaying = true; var currentGuess = 0; var target

该程序是一个高低猜测游戏,其中从用户输入的特定范围生成一个随机数,用户必须猜测该随机数

我想知道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>");
返回一个介于0和1之间的随机浮点数。正如您所确定的,您需要将其相乘,以获得其他两个数字之间的随机值。但是,在您的代码中,在提示用户输入这些值之前,您必须执行此操作。因此,您将乘以null,结果为0


如果在提示用户输入值后将该行移动到,则应得到预期的结果

在提示用户输入最大和最小参数之前,请先设置targetNumber。另外,Java和Javascript不是一回事,这个问题与Java无关。@AaronD听起来像是解决方案,你应该提交一个答案。实际上,一开始不管用,但后来不管用。请编辑你的问题,提供更多关于什么不管用的信息。你得到了什么结果?。