结束一个反应游戏Javascript

Ending a reaction game Javascript

本文关键字:游戏 Javascript 一个 结束      更新时间:2023-09-26

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

我刚开始学习代码,最近用我有限的知识创建了一个名为反应测试仪的游戏。然而,我最后面临一个小问题。

问题:

所以,每当出现随机的正方形或圆形时,你所要做的就是点击和点击所花费的时间;该点将显示在右侧。然而,我不知道如何设置游戏的结束时间,它只是不断地弹出形状。我将重试和结果(在css下)设置为显示:none,以便只在游戏结束时弹出这些。然而,我不知道如何结束它。请帮忙!非常感谢。

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

创建一个名为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超时,隐藏屏幕上的任何盒子,并让用户知道游戏结束了。