猜测随机数

时间:2019-02-03 20:41:46

标签: javascript

我正在尝试用JavaScript编写一个简单的函数,该函数在(0,10)中生成随机值,并要求用户猜测这些数字。由于我是JavaScript新手,因此我编写了此代码,但无法正常工作。因此,我需要您的帮助以找出解决方法。

1 个答案:

答案 0 :(得分:0)

您在Guessing中的最后一个if语句检查计数器是否低于5。删除该语句,您就可以进行了。由于counter被定义为全局变量,因此即使没有将其作为参数,在guessGame函数中也会增加它,并且一旦它等于5,您的代码就会停止执行。

如果您是一般编程人员的提示, 如果您的代码停止以神奇的值工作(在这种情况下为5),那么搜索它总是一个好主意。在您的代码中使用 ctrl + f

评论后编辑:

您正在考虑将readInput作为阻止函数,并非如此。您的do ... while函数每次都会执行readInput,并从输入框中读取相同的值并将其处理为错误。要解决此问题,请删除Guessing函数,将readInput放入html中,并在readInput的末尾添加guessGame函数,在其中与随机数进行比较。首先尝试1个数字。

有趣的事实:即使猜测应该按照您的预期工作,它也会在每次单击时生成一组新的随机数,从而使游戏更加困难。

有1个数字,您的代码如下:
html:

         Guess : <input type="text" id="nb"/> <input type="button" value="Check" onclick="readInput()"/>


javascript:

var ranval=generateRandom();
var counter=0;

function readInput(){
    var input = parseInt(document.getElementById('nb').value);
    if (counter<5){
        guessGame(input);
    }
    counter++;
    if (counter==5){
        console.log("you lost")
    }
}

function generateRandom(){
    //the 3 random values to be used later 
    rand1 = Math.floor(Math.random() * 10) ;

    ranval=rand1;
}

function guessGame(input){
    if (ranval==input){
        console.log("correct")
    }
}