如何检查用户输入是否与数学函数结果匹配?

斜线915

我正在开发一款游戏,该游戏会在网页上为用户带来随机的数学问题。我需要检查用户的输入(他们的答案)是否与随机函数的结果匹配。单击“新问题”按钮时,有四个随机调用的函数。我想通过在页面上显示“正确”或“错误”来查看用户输入是否与功能结果匹配。有人有什么想法吗?我是JS的新手,我不确定要为此使用google做什么,但我愿意查找。有一些方向。

const btn = document.querySelector('#start')

const randomFunc = [
    multiplication,
    division,
    addition,
    subtraction,
]

btn.addEventListener(
    'click',
    function () {
        randomFunc[Math.floor(Math.random() * randomFunc.length)]();
    }
)

function multiplication() {
    let num1 = Math.floor(Math.random() * 13);
    let num2 = Math.floor(Math.random() * 13);
    let problemResult = num1 * num2;
    console.log(num1, '*', num2, '=', problemResult);
    document.getElementById('mathProblem').innerHTML =
    (`${num1} * ${num2} =`);
}

function division() {
    let num1 = Math.floor(Math.random() * 13);
    let num2 = Math.floor(Math.random() * 12) + 1;
    let problemResult = (num1 * num2) / num2;
    console.log(num1 * num2, '/', num2, '=', problemResult);
    document.getElementById('mathProblem').innerHTML =
    (`${num1 * num2} / ${num2} =`);
}

function addition() {
    let num1 = Math.floor(Math.random() * 13);
    let num2 = Math.floor(Math.random() * 13);
    let problemResult = num1 + num2;
    console.log(num1,'+',num2,'=',problemResult);
    document.getElementById('mathProblem').innerHTML =
    (`${num1} + ${num2} =`);
}

function subtraction() {
    let num1 = Math.floor(Math.random() * 13);
    let num2 = Math.floor(Math.random() * 13);
    let numList = [num1, num2];
    numList.sort(function (a, b) {
        return a - b
    });
    let problemResult = numList[1] - numList[0];
    console.log(numList[1], '-', numList[0], '=', problemResult);
    document.getElementById('mathProblem').innerHTML =
        (`${numList[1]} - ${numList[0]} =`);
}
<div>
  <button id="start" type="button" class="btn btn-primary btn-lg">New Problem</button>
  <script src={% static 'js/game_logic.js' %}></script>
  <p id="mathProblem">Your problem will appear here</p>
  <form action="">
      <input id="user_input" type="text" placeholder="Type your answer here">
  </form>
</div>

米蒂亚

您需要让函数返回problemResult,存储它,然后在用户输入时将其与用户输入进行比较。

目前,您根本没有在听用户输入。您可以通过“提交”按钮(即,希望用户在完成操作后单击按钮)来执行此操作,或者我们可以在他们输入数据时进行监听。让我们做后者:

btn.addEventListener('click', () => {
    let result = randomFunc[Math.floor(Math.random() * randomFunc.length)]();
    document.querySelector('#user_input').addEventListener('input', evt => {
        if (result.toString() === evt.target.value) {
            /* correct! do something here */
        } else {
            /* not correct yet... */
        }
    });
})

请注意我们result如何强制转换为字符串的,因此我们将Apple与Apple与用户输入(来自字段值的输入始终为字符串)进行比较。

不要忘记调整您的函数以返回problemResult

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检查用户是否输入了与漩涡哈希匹配的密码?

如何从用户那里获取输入,然后检查多个列表是否与输入匹配

如何检查用户输入是否与文本文件中的单词匹配?

如何检查用户输入是否为数字?

如何检查用户输入的结尾是否以“?”结尾?“。”“!”

如何检查用户输入是否在字典中

如何检查用户输入是否是某个基数?

如何检查用户输入是否为网址?

如何要求用户用C语言输入数学函数?

Bash 脚本检查用户输入是否与特定形式匹配

检查用户输入是否匹配(随机)整数的任何数字

在R中的用户定义函数中,如何检查R中的输入格式是否正确?

如何检查用户是否已停止在输入字段中输入?

Python-检查用户输入是否符合条件的函数

如何检查用户输入

如何检查插入的输入是否与 .env 文件中的变量匹配?

检查用户输入是否适合

如何获得用户输入的python函数的结果?

如何检查用户是否清空了输入内容?

如何检查用户输入是否遵循正确的格式

如何使用bufio检查用户输入是否为空?

如何检查用户输入的年份是否有效?

如何检查用户输入是否为 Ruby 中的整数?

如何检查用户输入的日期格式是否正确

如何检查用户是否输入了单个字母?

你如何检查用户输入是否是别的东西?

如何检查用户输入是否有效?

如何检查用户输入是否为字符串

如何检查用户输入是否等于数组中的某个值?