记忆游戏重置按钮,小故障

时间:2018-04-19 07:58:47

标签: javascript

我的问题在于,我有一个记忆游戏...我在下面放置的这个功能是一个重置按钮,所以它清除了电路板,启动了一个新的电路板(每次为随机卡分配一些东西)并重置定时器。定时器仅在单击卡时运行,这就是我删除底部显示的原因。我有一个问题,每当我在重置按钮上多次点击,(整个游戏重置2次,或者只是点击几次重置按钮)游戏都会出现故障,落后并最终没有创造出一个伟大的游戏... < / p>

我添加了行wait();因为我不知道我在做什么......大声笑它在控制台中造成错误...说wait();不是一个定义的功能...但我的游戏开始正常工作!最终我需要找到一种方法来获得这个错误发生的性能,在没有错误的情况下发生。任何帮助将不胜感激...我将下面的CodePen与wait()相关联;除去。

Codepen

let wait = 500;
let opened = [];

function resetTimer(timer) {
  $(".restart").on("click", function() {
    for (i = 0; i < sCards.length; i++) {
      $(".card").remove();
    }
    opened = [];
    init(); //recreates the cards
    wait(); //shows an error in console, but makes game work correctly?
    $(".timer").css("display", "none");
  });
}

1 个答案:

答案 0 :(得分:0)

我在玩你的Codepen之后发现的问题,

resetTimer()此功能是不必要的,请将其保留为$(".restart").on("click", function() { ... })

resetTimer(nowTime);

中删除init()

游戏故障的原因是由于功能resetTimer()

init()中,你在for循环中执行了resetTimer(nowTime)并使该函数执行了16次,因为有16个洗牌卡

提供了编辑的codepen示例。 Codepen