数字游戏算法

时间:2012-10-22 09:41:57

标签: javascript jquery

我正在做一些研究,为小学生创建一个新的数学游戏,其中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>

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

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

3 个答案:

答案 0 :(得分:1)

你需要做的第一件事就是提出任何正确或错误概念的问题。

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

你需要做的第二件事是将这个问题表达为一个布尔表达式,其值为true或false。

(selection>20)

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

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

答案 1 :(得分:1)

其实我做过气球游戏,就像这个......

由于你完成了设计和动画工作,完成了70%的工作:D,逻辑中的小修改将完成工作......

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

步骤2:在此处检查布尔表达式(根据您的要求)并根据您的布尔表达式增加正确的标志或不正确的标志,这些标志是全局声明的

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

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
    })
}

答案 2 :(得分: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)”