吃豆子:阻止他向一个方向移动

时间:2015-12-14 21:27:29

标签: javascript jquery

我正在进行一场pacman游戏。如果你曾经玩过它,你就会知道,当pacman正在通过一个迷宫移动某个方向时,如果他朝着墙壁移动没有任何反应。他只是继续前进。鉴于我目前的代码,这样做的好方法是什么?

所以这是代码。

this.move = function(key){ 

   var Rblocked = false;
   var Bblocked = false;               

  clearInterval(timer);

  timer = window.setInterval(function(){

//key is event switch   
    switch (key) {      
      case 39:
          for (var butt39 in blockArrayLeft){
        if ($('#pacMan').position().left == blockArrayLeft[butt39].position().left && $('#pacMan').position().top == blockArrayLeft[butt39].position().top){

          Rblocked = true;
          pacMan.move(this.direction);

        }
          }

        if (!Rblocked){

         this.direction = 39;
      pacMan.rightMove();
        }
      break;
    case 40:
         for (var butt40 in blockArrayTop){
        if ($('#pacMan').position().left == blockArrayTop[butt40].position().left && $('#pacMan').position().top == blockArrayTop[butt40].position().top){

          Bblocked = true;
          pacMan.move(this.direction);
        }
          }
        if (!Bblocked){

       this.direction = 40;   
      pacMan.bottomMove();
        }
      break;
      default:
        clearInterval(timer);

        break;
        }     

}
};
}

按键使pacMan连续向一个方向移动。我有一个setInterval,让他每隔100秒移动一次长度的空间。

如果他碰到一堵墙而且朝着它移动,他就被阻挡了。 setInterval仅在被阻止的变量为false时才会出现。

但是如果他突然向右走的话,会让他继续前进的方法是什么?

0 个答案:

没有答案