结束反应游戏Javascript

时间:2016-03-27 23:09:45

标签: javascript html css

以下是相关链接:http://jsbin.com/cebisoqovo/edit?html,output

我刚开始进行代码学习,最近用我有限的知识创建了一个名为 Reaction Tester 的游戏。但是,我最后面临一个小问题。

问题:

因此,只要显示随机的方形或圆形,您只需点击并点击&该点将显示在右侧。但是,我不知道如何设置游戏的结束时间,它只是不断弹出形状。我再次尝试并将结果(在css下)设置为display:none,以便仅在游戏结束时弹出这些。但是,我不知道如何结束它。请帮忙!谢谢!

p / s:这里直接插入代码有问题。如果您没问题,请转到jsbin链接并复制代码并粘贴到您的相应应用程序上以便更好地查看它,因为jsbin并没有真正清楚地显示它。很抱歉给您带来不便。

1 个答案:

答案 0 :(得分:0)

创建一个名为gameRunning的全局变量,将其设置为true。创建一个30秒的超时函数,将gameRunning设置为false。在创建形状的函数中,首先检查gameRunning是否为true。如果gameRunning为true,则正常创建形状。如果gameRunning为false,则不执行任何操作。

^上述解决方案有效,但由于创建方框,您将获得游戏结束后创建的最后一个方框。

https://jsfiddle.net/vmo5x2vz/3/

使用它一段时间后,我找到了一种不同的更好的方法来满足你的特殊情况。

我创建了一个名为makeBoxTO的全局变量,' TO'意思是超时。

var makeBoxTO;

然后我将makeBox()中找到的超时分配给此makeBoxTO变量。这样我们就可以在makeBox()函数之外引用该超时。

makeBoxTO = setTimeout(function()...

然后我设置一个10秒计时器来结束游戏。

setTimeout(function(){
  clearTimeout(makeBoxTO);
  document.getElementById("Box").style.display = "none";
  alert('game over');
},10000);

它会清除我们的makeBox超时,隐藏屏幕上的任何方框,并让用户知道游戏结束。