Javascript 制作西蒙游戏,可以';我不知道出了什么问题

Javascript 制作西蒙游戏,可以';我不知道出了什么问题,javascript,html,Javascript,Html,我正在尝试制作一个Simon游戏,在这个游戏中,用户遵循随机生成的模式的递增序列,我几乎完成了它 但我有一个问题,在随机出现的时候,函数nextSequence()似乎停止工作,这破坏了游戏,因为你无法看到你必须点击的下一种颜色 我花了很多时间试图找出什么是错误的,但我就是想不出来,通常它在5级左右停止正常工作 这就是功能: function nextSequence() { userClickPattern = []; level++; $("h1").tex

我正在尝试制作一个Simon游戏,在这个游戏中,用户遵循随机生成的模式的递增序列,我几乎完成了它

但我有一个问题,在随机出现的时候,函数nextSequence()似乎停止工作,这破坏了游戏,因为你无法看到你必须点击的下一种颜色

我花了很多时间试图找出什么是错误的,但我就是想不出来,通常它在5级左右停止正常工作

这就是功能:

function nextSequence() {
  userClickPattern = [];

  level++;
  $("h1").text("Level " + level);

  let random = Math.floor(Math.random() * 5);
  let randomChosenColor = buttonColors[random];
  gamePattern.push(randomChosenColor);

  $("#" + randomChosenColor)
    .fadeIn(100)
    .fadeOut(100)
    .fadeIn(100);

  makeSound(randomChosenColor);
}
我真的不知道这是否是问题所在,但我还没有找到其他的问题

我对这里的提问和编码相当陌生,如果您还需要什么或者问题不清楚,请随时告诉我如何改进它

以下是存储库:


这是页面:

将5更改为4,您只能在4种颜色之间进行选择,数组索引从0开始,到3结束。
在某些情况下,您的代码会选择一个超出颜色数组边界的索引。

游戏是如何工作的?它应该做什么?什么东西没有按你期望的方式工作?你能在问题本身中分享一个最小的、具体的和可验证的例子吗?游戏执行函数nextSequence,随机选取四种颜色中的一种并将其添加到数组游戏模式中,然后等待用户单击其中一种颜色并将其添加到数组userClickPattern中。如果两个阵列具有相同的内容,它将再次执行函数nextSequence,将1添加到级别,这样阵列现在有2个“条目”,并再次根据游戏模式检查用户输入。如果输入不正确,游戏结束。问题是,有时随机颜色不会闪烁,因此您没有视觉提示来知道必须单击哪个颜色。抱歉,如果我没有正确解释,英语不是我的第一语言。我认为您需要Math.floor(Math.random()*4),因为您只有4种颜色(因此索引选项为0、1、2、3,但Math.random()*5允许索引为4)。是的,我想就是这样,所以每次随机数为4时,都会产生错误,这就是为什么它是“随机的”。我以前有*4,我想我没注意就改了。非常感谢。是的,这就是问题所在,谢谢。很乐意帮助你