4

我目前正在做一些研究,为小学生创建一个新的数学游戏,其中 0-9 的 div 随机出现在容器内。

开头给出了一个问题。类似于 20 的倍数。然后,用户必须点击正确的,然后在最后计算它们并给出分数。

所以目前我有基本的结构,弹出 div 并单击它们,它会添加到正确答案中,这意味着此时没有错误答案。

我想知道确定正确和错误答案的最佳方法是什么。是否有我可以使用的算法来确定答案是对还是错,以及如何将其链接到 div?

<div id="container">
    <div id="char1" class="character right1" vaule="1"></div>
    <div id="char2" class="character right2" vaule="2"></div>
    <div id="char3" class="character right3" vaule="3"></div>
    <div id="char4" class="character right4" vaule="4"></div>
    <div id="char5" class="character right5" vaule="5"></div>
    <div id="char6" class="character right6" vaule="6"></div>
    <div id="char7" class="character right7" vaule="7"></div>
    <div id="char8" class="character right8" vaule="8"></div>
    <div id="char9" class="character right9" vaule="9"></div>
    <div id="char9" class="character right0" vaule="0"></div>
</div>

与“.right”相对的错误答案将被赋予“.wrong”类

小提琴:http: //jsfiddle.net/SKB3Q/10/

4

3 回答 3

1

您需要做的第一件事是提出一个问题,以使任何正确或错误的概念都有意义。

例如:“点击所有大于 20 的数字”

您需要做的第二件事是将这个问题表达为一个布尔表达式,计算结果为真或假。

(selection>20)

然后为每个选择评估这个表达式以确定它是对还是错。

是我的意思的一个例子。在游戏开始之前,脚本会为每个元素添加适当的类。问题是“选择所有大于 5 的数字”

于 2012-10-22T09:48:29.007 回答
1

其实我做过类似这样的气球游戏......

由于您已经完美地完成了设计和动画工作,70% 的工作已经完成:D,逻辑上的小修改将完成工作......

我的解决方案是:如果容器中的 div 是静态的,并且您已经为它们提供了 ID,那么第 1 步:检查哪个 div 被单击,然后分配给它什么值

Step2:检查布尔表达式(根据您的要求)并根据您的布尔表达式增加全局声明的正确标志或错误标志

可能对您有所帮助的示例代码

for(var i=0;i<8;i++)
{
    $("#char"+i).click(function(){
        //boolean expression comes here
        //increase the correct count or the incorrect count you want to do it
    })
}
于 2012-10-22T10:08:31.610 回答
0

如果 char1,char2,char3,.... 是随机创建的 div 并且 1,2,3,..... 是与之关联的值,那么我没有看到您的确切代码,然后尝试此代码并让我知道

<script type="text/javascript">
    for (var i = 0; i < 8; i++) {
        $("#char" + i).click(function () {
            var val = $("#char" + i).val(); // so by this you will get the which one is clicked
            if (val % 15 == 0)
                hit++;
            else
                miss++;

            $("#hit").html("correct: " + hit);
            $("#miss").html("Incorrect: " + miss);
        })
    }
</script>

因此,当启用 div 并且用户单击它时,将调用此函数并将检查布尔表达式并适当地增加命中或未命中标志。

注意:假设 Char1,char2,... 是随机启用的 div,如果不为适当的随机创建的 div 编写条件,那将正常工作

“您可以通过更改布尔表达式来检查任何倍数,我在上面给出的是 (val%15 == 0)”

于 2012-10-22T11:07:06.297 回答