js 魂斗罗 秘籍 上上下下左左右右BA

const usingSecretBook = () => {
  const pattern = [
    'ArrowUp',
    'ArrowUp',
    'ArrowDown',
    'ArrowDown',
    'ArrowLeft',
    'ArrowRight',
    'ArrowLeft',
    'ArrowRight',
    'b',
    'a',
  ];
  let index = 0;
  var keyHandler = function(e) {
    const k = e.key; // 得到按下的某一个键
    // 如果按键不在匹配按键中,重置
    if (!pattern.includes(k)) {
      index = 0;
      return;
    }
    // 如果按键在匹配按键中,但是顺序不一致
    if (pattern[index] !== k) {
      index = 0;
      return;
    }
    // 成功输入一项
    index += 1;
    // 完成最后一项后, index 等于 pattern 长度此时检查是否匹配,如果匹配,则模式已完成
    if (pattern.length === index) {
      console.log('秘籍开启');
      index = 0;
    }
  };
  document.addEventListener('keydown', keyHandler, false);
};
posted @ 2021-03-12 03:19  bronana  阅读(337)  评论(0编辑  收藏  举报