西蒙游戏机制(Javascript) - 序列输入

时间:2016-07-18 21:36:01

标签: javascript jquery sequence

基本上我有以下内容:

1)游戏将随机预先选择20个随机序列

2)游戏将关闭点击事件监听器

3)游戏将显示每个级别的光序列(起始级别1)

4)游戏将打开click事件监听器,以便用户可以通过.buttons输入

5)游戏将评估用户的输入

我在第5步遇到麻烦......

在游戏仍在运行时如何评估用户的输入?我想过使用while循环,但似乎并没有很好地工作......

Board.prototype.getUserInput = function(){
    board.userInput = []; //reset the user input
    $(".button").click(function(){
       var currentLevel = board.sequence.slice(0,board.index);
       var color = $(this).attr('id');
       board.userInput.push(color)
       board.evaluateInput(currentLevel);
})

}

继承我的代码:http://codepen.io/neotriz/pen/RRxOJb

1 个答案:

答案 0 :(得分:1)

这是我对游戏所做的旧实现。 http://codepen.io/antoniskamamis/pen/pJAxq?editors=0010#0

基本上,由于您已预先定义了订单,所以您只需在每次点击颜色时增加一个计数器,并检查点击的颜色是否是预定义颜色的第n个位置

解决方案的伪代码

var predefinedColors = ['red', 'yellow',...]
var turn = 0;
buttons.addEventListener("click", ev => {
  if(ev.target.classList.contain(predefinedColors[turn]){
    //right guess
    turn++
  } else {
   // wrong guess reset game
  }

})