javascript - 生成随机问题

标签 javascript html css

我制作了一个网页并使用 JavaScript 提出了 5 个数学问题,但是我想编辑我的代码以便能够使用随机数生成问题。我确定我打算使用 Math.random 函数,但我不太确定。这是我当前的代码:

<!DOCTYPE html>
<html>
<body>
  <h1>A Simple Maths Game!</h1>

  <p>Welcome to an awesome maths game! Your aim is simple, just answer all maths questions that you see! <br> Goodluck!</p>

  <script>

    // Maths question 1

    var userAnswer;
    userAnswer = prompt("1. 4 + 5");

    if (userAnswer == 9){
        document.write("1. 4 + 5 = <span class = 'correct'" + userAnswer + "</span> correct");
        // document.write("\n");
        document.write("<br>");
    }
    else{
        document.write("1. 4 + 5 = <span class = 'incorrect'" + userAnswer + "</span> incorrect");
        document.write("<br>");
    }

    // Maths question 2

    var userAnswer;
    userAnswer = prompt("2. 19 + 4");

    if (userAnswer == 23){
        document.write("2. 19 + 4 = <span class = 'correct'" + userAnswer + "</span> correct");
        document.write("<br>");
        }
    else{
        document.write("2. 19 + 4 = <span class = 'incorrect'" + userAnswer + "</span> incorrect"); 
        document.write("<br>");
    }

    // Maths question 3

    var userAnswer;
    userAnswer = prompt("3. 5 x 5");

    if (userAnswer == 25){
        document.write("3. 5 x 5 = <span class = 'correct'" + userAnswer + "</span> correct");
        document.write("<br>");
    }
    else{
        document.write("3. 5 x 5 = <span class = 'incorrect'" + userAnswer + "</span> incorrect"); 
        document.write("<br>");
    }

    // Maths question 4

    var userAnswer;
    userAnswer = prompt("4. 7 x 5");
    if (userAnswer == 35){
        document.write("4. 7 x 5 = <span class = 'correct'" + userAnswer + "</span> correct");
        document.write("<br>");
    }
    else{
        document.write("4. 7 x 5 = <span class = 'incorrect'" + userAnswer + "</span> incorrect"); 
        document.write("<br>");
    }

    // Maths question 5

    var userAnswer;
    userAnswer = prompt("5. 8 x 8");
    if (userAnswer == 64){
        document.write("5. 8 x 8 = <span class = 'correct'" + userAnswer + "</span> correct");
        document.write("<br>");
    }
    else{
        document.write("5. 8 x 8 = <span class = 'incorrect'" + userAnswer + "</span> incorrect"); 
        document.write("<br>");
    }


  </script>
</html>

提前致谢,感谢任何帮助。

最佳答案

您可以生成随机数,进行数学运算以获得您期望的答案,然后将您的期望答案与用户的实际答案进行比较:

var a = Math.floor(Math.random() * 10); // A number between 0 and 10
var b = Math.floor(Math.random() * 10); // Another number between 0 and 10

var expectedAnswer = a + b;

var answer = prompt(a + " + " + b);

if (answer == expectedAnswer)
    alert('Good job !');
else
    alert('Wrong answer :()');

Demo

当然这是一个只有加法的简单示例,但您可以更进一步,使用相同的随机系统来选择减法等操作...

关于javascript - 生成随机问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036138/

相关文章:

javascript - 如何将按钮放在右下角和所有内容之上?

javascript - 如何判断循环何时完成。使用 JavaScript、Vue 和 AXIOS

javascript - 如何从 Firebase 管理员获取 Facebook ID?

jquery - 我如何根据这些元素的子元素中的数字从最高到最低重新排列 HTML 元素?

javascript - 多个滑出菜单问题

javascript - 在不重置插入符号(光标)位置的情况下修改内容可编辑的 div 中的文本

javascript - ajax 错误回调中的重新抛出错误正在创建 Uncaught Error

javascript - 替换功能不适用于括号 ()

jquery - 在不扭曲形状/阴影的情况下向图形添加文本。 CSS

html - 混合内容 - 文本和数学