Javascript_30_12


こんにちは!


デレクです😆


投稿が多すぎます...今日3つアップしたNaregi...クリスマスに遊びすぎたようです.😛
今日で12時間目!Day 12 projectはKonami Codeを作成する課題である.
?
コナミコードが何なのか分からないがイースターに似ている.同じことを言う
あるサイトで特定のキーを押すと、イースターに彼のような隠れたイベントが現れます...Zukurゲームでは一般的にウィキペディア<--ここでは簡単な例があります.
とても简単で可爱い...イースターに彼を作ろう!

12. Key Sequence Detection



n/a.ターゲット


特定の文字列を入力してalertを生成します.
とても簡単です.キーボードを任意に入力し、設定された特定の文字列を入力すると、準備されたalert関数が実行されます.

DerekとWes bosのコード

const pressed = [];
const secretCode = "derek";

window.addEventListener("keyup", (e) => {
  pressed.push(e.key);

  pressed.splice(-secretCode.length - 1 , pressed.length - secretCode.length);

  if(pressed.join("") === secretCode)
  {
    alert("Easter Egg!");
  }
})
secretCodeは私が自分で設定したパスワードです.文字を書き散らす場合は、derekと入力し、alert関数を実行します.pressedは、現在入力されているイベントを格納する.
pressed.push(e.key);

pressed.splice(-secretCode.length - 1 , pressed.length - secretCode.length);
1行目では、e.keypressed配列に配置される.
そして、すべての入力値を持ち歩く必要はありません.secretCodeの大きさを持っていれば、secretCodeと完全に一致すればいいのではないでしょうか.
したがって、入力されたpressed配列を切り取る.最初のパラメータには負の値が含まれます.

splice関数負のインデックスを使用

let arr = [1, 2, 5];

// 인덱스 -1부터 (배열 끝에서부터 첫 번째 요소)
// 0개의 요소를 삭제하고
// 3과 4를 추가합니다.
arr.splice(-1, 0, 3, 4);

alert( arr ); // 1,2,3,4,5
負のインデックスを使用すると、後でインデックスのカウントを開始してトリミングまたはトリミングを行い、他の要素を追加できます.
では、私たちのコードでは、
pressed.splice(-secretCode.length - 1 , pressed.length - secretCode.length);
この部分は、secretCodeの長さで、後ろからその長さだけ切るという意味でしょう!
現在、pressedの最後のキーボードの長さはsecretCodeです.join関数を使用してすべて貼り付け、secretCodeと同じかどうかを確認できます.
if(pressed.join("") === secretCode)
  {
    alert("Easter Egg!");
  }
単純:)
今日は気軽なテーマでイースターで彼の可愛いアイテムを作りました😄 …ゆで卵を食べて寝ます.
エラーや修正が必要な場合は、いつでもフィードバックしてください.
ありがとう!🤗