2012-10-22 62 views
4

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

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

因此,目前我有基本的结构,div弹出,你点击它们,它增加了正确的答案,这意味着在这个时间点没有错误的答案。

我想知道确定正确和错误答案的最佳方法是。有没有和我可以使用的算法会计算出答案是对还是错,以及如何将它链接到divs?

<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/

+0

就我个人而言,我会将它分成两个组件。一个产生问题并知道正确答案的人。还有一个只会对这些价值观起作用。这样你可以分别专注于你的需求。 – Yoshi

+0

所以你说开始做问题,然后为每个问题分支? @Yoshi –

回答

1

你需要做的第一件事就是拿出了一个问题任何正确或错误的概念是有道理的。

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

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

(selection>20) 

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

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

+0

我明白了,所以你的意思是从一个地方开始,以确定错误的答案。然后开始将它们分类到他们的地方? @Asad –

+1

@ Milo-J看到我附加的例子 –

+0

那么我该如何做10的倍数?喜欢这个?函数倍数10(数值){ return(value == 1 || 2 || 5); } –

1

其实我已经做了气球的游戏,类似于此...

正如你已经完成了设计和动画作品的工作完美70%完成:d,在逻辑小的修改将完成的工作......

我的解决方案将是:如果 div的容器是静态的,你给的ID对他们的再 第一步:检查这是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 
    }) 
} 
+0

谢谢。很高兴知道我就在那里,我以为我有一段旅程要走。我不认为你有小提琴可以帮助我吗? @Raghurocks –

+0

为此,你应该给出确切的要求,以便这个小组中的某个人或其他人可以帮助你.....:D – Raghurocks

+0

是啊,你能告诉我你的意思与15个例子的倍数@Raghurocks –

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启用时,用户点击它t当这个函数被调用并且将检查布尔表达式并且适当地增加命中或者未命中标志。

注:假设CHAR1,CHAR2,...是随机使div的,如果没有写相应的随机生成div的条件,这将很好地工作

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