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