繁体   English   中英

Javascript 猜数游戏 - 设置计数器和 while 循环

[英]Javascript number guessing game - setting up the counter & while loop

我正在尝试在 Javascript 中创建一个随机数猜测游戏,将用户输入与使用 math.random 方法生成的数字进行比较。 我对如何以正确的方式设置计数器感到困惑。 我必须验证数字,用“太高”、“太低”或“你赢了”来显示每个猜测,然后在最后显示“秘密”数字。 不知道我做错了什么! 现在它正在覆盖每个答案,计数器停留在#5。

function myFunction() {
    var userInput = document.getElementById("text").value;
    // test for valid input number from 1 to 999 
    if (userInput < 0 || userInput > 999) {
         alert("Your number must be from 1 to 999");
    } else {
        alert("Input OK");
    } // end function myFunction

    var randomNum = Math.floor(Math.random()* 999)+1;
    var userInput = document.getElementById("text").value;
    var counter = 0;
    var totalGuesses = 0;
    while (totalGuesses <= 5) {
      counter++;
      document.getElementById('loopResults').innerHTML = "<p>You have made" + counter + "guesses</p>";
      if (userInput < randomNum) {
          document.getElementById('loopResults').innerHTML += "<p>Your guess is too low!</p>";
      } else {
          document.getElementById('loopResults').innerHTML += "<p>Your guess is too high!</p>";
      } 
   }
}
</script>
</head>


<body>
<h1>Guessing Game</h1>
<p id="loopResults"></p>
<form action="" method="post" enctype="multipart/form-data" name="userData">
    <input name="userInput" id="text" type="text" size="10" /> - &nbsp;Enter a number from 1-999!</form>
    <p><span style="background-color:#066aff; color: #ffffff; padding: 5px;" onclick="myFunction();" >enter number</span>
</p>
</body>

这里不需要while loop 发生的事情很简单,一旦它进入 while 循环,它就会将您的counter增加到 5。

取出while loop ,它会做你想做的事。

而且我认为你不需要totalGuesses

编辑:

所以我进一步研究了你的代码。 为了做你想让它做的事情,而不是把所有的东西都放在你的myFunction ,下面是步骤:

  1. 创建一个random_number

  2. 创建一个counter

  3. 绑定到onclick的函数,这是主要逻辑所在。 这就是您需要做的。

    1. 从输入字段中获取输入结果,并解析为Integer
    2. 与存储的random_number进行比较
    3. 如果正确,警报确定
    4. 如果没有,增加counter
    5. 如果counter达到限制,警报并显示结果

不打算写下代码,我想你可以弄清楚。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM