计算两个随机数

vatpfxk5  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(412)

我仍然是一个基本的javascript的人,我正在尝试做一个小测验,就是用户输入他们的名字和技能(简单,简单,难),然后他们将移动到基本的计算器,基本的计算器是,如果用户选择简单的技能,它会显示给他们两个随机数,从1到99,它将被添加,因为它将是我很难做随机操作。因此,如果他输入两个随机加法问题的正确答案,它将更新分数,并将在正确的计数器上加1,否则,将在错误的计数器上加1。
下面是我的代码,我正在坚持如何做计算的事情,我试图这样做,但花了很多时间在它上面,我看了谷歌,但所有的方式,与所有的操作,而我只需要它的加法的东西只有。。我如何解决我的问题?

0ve6wy6x

0ve6wy6x1#

你真是太棒了。
首先,我建议在您的html中使用输入类型number(如果提交不是数字,则向用户抛出错误)

<input type="**number**" id="answer" >

至于你的js。
您没有从用户输入中获取答案。您的变量答案未被使用,请在函数中检查答案()
所以你可以这么做。answer=parseint(答案);-这样你就可以把它变成一个数字类型(你也可以用数字(答案)。
--接下来看看你的if语句。你基本上是说如果正确答案是真的,做点什么(正如安德烈亚斯在评论中所说)
你要做的是,对照你的答案变量检查它(抓住它的价值后)
所以如果(答案===correctanswer)-做点什么。
另外,正确和错误的变量需要远离函数,否则无论何时运行函数,它们都会重置为0。
最后有很多方法可以写,我想一个简单明了的方法如下。这样你就得到了总数,对,错。
就在那里。

window.addEventListener("load", function () {

  document.forms[0].addEventListener("submit", afterLogin);
  document.getElementById("submit2").addEventListener("click", checkTheAnswers);
  document.forms[0].name.addEventListener("input", stringValidation);
  document.getElementById("reset").addEventListener("click", resetForm);
  let radios = document.querySelectorAll("[type=radio]");
  let submitButton = document.getElementById("submit");
  let userName = document.forms[0].name;
  let answer = document.forms[1].answer;
  let errorMsg = document.getElementById("nameMsg");
  let error = document.getElementById("error");
  let skillMsg = document.getElementById("skillMsg");
  let welcome = document.getElementById("welcome");
  let loginForm = document.getElementById("login");
  let calForm = document.getElementById("cal");
  let num1 = document.getElementById("firstNum");
  let num2 = document.getElementById("secondNum");
  let isTrue = false;
  submitButton.disabled = true;
  calForm.style.display = "none";

  function stringValidation() {
    if (this.value === "") {
      errorMsg.innerHTML = "your name shoudn't be blank";
      isTrue = true;
      submitButton.disabled = true;
    } else {
      errorMsg.innerHTML = "";
      isTrue = false;
      if (!isTrue) {
        submitButton.disabled = false;
      }
    }
  }
  function afterLogin(event) {
    event.preventDefault();
    for (let i = 0; i < radios.length; i++) {
      if (!radios[i].checked) {
        skillMsg.innerHTML = "Please check one of the skills before login";
      } else {
        welcome.innerHTML = "Welcome " + userName.value;
        loginForm.style.display = "none";
        calForm.style.display = "block";
      }
    }
    startTheGame();
  }

  function startTheGame() {
    for (let i = 0; i < radios.length; i++) {
      if (radios[i].checked) {
        let tt = radios[i].value;
        switch (tt) {
          case "easy":
            easy();
            break;
          case "soso":
            soso();
            break;
          case "hard":
            hard();
            break;
          default:
            error.innerHTML = "something went wrong ..!";
        }
      }

    }

  }

  function easy() {
    rand1 = Math.floor(Math.random() * (99 - 5)) + 5;
    rand2 = Math.floor(Math.random() * (99 - 5)) + 5;
    num1.innerHTML = rand1;
    num2.innerHTML = rand2;

  }
  function soso() {
    error.innerHTML = "soso";
  }
  function hard() {
    error.innerHTML = "hard";
  }

  let right = 0;
  let wrong = 0;

  function checkTheAnswers() {

    let correctAnswer = rand1 + rand2;

    let userAnswer = parseInt(answer.value);

    if (userAnswer === correctAnswer) {
      right++
    } else {
      wrong++
    }

    error.innerHTML = right - wrong;
    loginForm.style.display = "none";

    easy();
  }

  function resetForm() {
    errorMsg.innerHTML = "";
    skillMsg.innerHTML = "";
    userName.value = "";
    for (let i = 0; i < radios.length; i++) {
      radios[i].checked = false;
    }
    submitButton.disabled = true;

  }

});
<!DOCTYPE html>
<html>

<head>

    <title>Solutions</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="js.js"></script>
</head>

<body>
<div id="page">
    <h1>Calculator Game</h1>
    <div id="error"></div>
    <!-- login form -->
    <form id="login">
        <label>Enter your name : <span id="nameMsg"></span></label><br>
        <input type="text" id="name"><br>

        <label>Select your skill : <span id="skillMsg"></span></label><br>

        <input type="radio" id="easy" name="skill" value="easy">
        <label for="easy">easy</label>
        <input type="radio" id="soso" name="skill" value="soso">
        <label for="soso">so so</label>
        <input type="radio" id="hard" name="skill" value="hard">
        <label for="hard">hard</label><br>
        <input type="submit" id="submit" value="submit" >
        <input type="button" id="reset" value="reset" ><br>
    </form>
    <br>

    <!-- Calculator form -->
    <div id="welcome"></div>
    <form id="cal">
    <span id="firstNum"></span>
    <span id="operator">+</span>
    <span id="secondNum"></span><br>
    <input type="number" id="answer" ><br><br>
    <input type="button" id="submit2" value="submit2" >
    <input type="button" id="reset2" value="reset" >
    </form>

</div>
</body>

</html>

相关问题