简单Javascript生成并检查数字

简单Javascript生成并检查数字,javascript,Javascript,我为一个小游戏编写了一个简单的代码,但它不知道为什么不能工作 “游戏是在字段中输入任意数字,并尝试将其与生成的代码匹配” 如果它符合“你赢了!”在第二个回答 或者它返回给用户“你松了! 这是我的密码 <html> <head> <script type="text/javascript"> var y; var num = document.getElementById("num").value; func

我为一个小游戏编写了一个简单的代码,但它不知道为什么不能工作 “游戏是在字段中输入任意数字,并尝试将其与生成的代码匹配” 如果它符合“你赢了!”在第二个回答 或者它返回给用户“你松了! 这是我的密码

<html>
<head>
<script type="text/javascript">

        var y;

        var num = document.getElementById("num").value;

        function Change_Random(){
        var x = Math.floor(Math.random()*30+1);
        document.getElementById("div1").innerHTML = "<h1>"+(x<10?"0":"")+x;
        y = setTimeout(Change_Random,10);
        }

        function Stop1(){
        clearTimeout(y);        
        }

        function Check_num(){
        if(x == num)
        document.getElementById("div2").innerHTML = "<h1>You Win !";
        else
        document.getElementById("div2").innerHTML = "<h1>You Loose !";
        }

</script>
</head>
<body>
<form name="form1" method="post">
<br /><br />
<input type = "text" name="num" id="num" /><br />
<input type = "button" value="Start" onClick = "Change_Random();" />
<input type = "button" value="Stop" onClick = "Stop1();Check_num();" />
<div id="div1"></div><br />
<div id="div2"></div>
</form>
</body>
</html>

变量y;
var num=document.getElementById(“num”).value;
函数更改_Random(){
var x=数学地板(数学随机()*30+1);
document.getElementById(“div1”).innerHTML=“”+(x首先使用
parseInt()
将字符串转换为数字并进行比较,如

  var num = parseFloat(document.getElementById("num").value);
  if(x == num)
更新

在函数
Change\u Random()

更新2

另一个问题是必须在
Check_num()
函数中获取
num
的值

function Check_num(){
    num = parseInt(document.getElementById("num").value, 10);
    if(x == num){
        document.getElementById("div2").innerHTML = "<h1>You Win !";
        console.log(x);
        x = "";
    }   
    else{
        document.getElementById("div2").innerHTML = "<h1>You Loose !";
        console.log(x);
        x = "";
    }
}
函数检查\u num(){
num=parseInt(document.getElementById(“num”).value,10);
如果(x==num){
document.getElementById(“div2”).innerHTML=“你赢了!”;
控制台日志(x);
x=“”;
}   
否则{
document.getElementById(“div2”).innerHTML=“你松了!”;
控制台日志(x);
x=“”;
}
}

请查看更新的答案。谢谢,但输出不匹配总是松散的,我尝试使用
Math.floor(Math.random()*2+1)
但也不起作用,为什么伙计们?请查看更新的答案和演示。谢谢,先生,但当我按下“停止”按钮时,该值仍在变量x中,如何清除该值并启动另一个值?查看更新的答案。
function Check_num(){
    num = parseInt(document.getElementById("num").value, 10);
    if(x == num){
        document.getElementById("div2").innerHTML = "<h1>You Win !";
        console.log(x);
        x = "";
    }   
    else{
        document.getElementById("div2").innerHTML = "<h1>You Loose !";
        console.log(x);
        x = "";
    }
}