【解決方法】スネーク ゲームでの入力方向の混乱 JavaScript

プログラミングQA


完全なコードは次のとおりです。

Just a moment...

これは私が興味を持っているコードです:

JavaScript
window.addEventListener("keydown", e => {
  inputDir = { x: 0, y: 1 };
  moveSound.play();
  switch (e.key) {
    case "ArrowUp":
      inputDir.x = 0;
      inputDir.y = -1;
      break;
    case "ArrowDown":
      inputDir.x = 0;
      inputDir.y = 1;
      break;
    case "ArrowLeft":
      inputDir.x = -1;
      inputDir.y = 0;
      break;
    case "ArrowRight":
      inputDir.x = 1;
      inputDir.y = 0;
      break;


  }
})

inputDir 変数とは何ですか? (私はこのコードを書きませんでした。私はチュートリアルから学んでいます。チュートリアルは内容を十分にカバーしていません)。
私が理解していないのは、inputDir を 0 行目、1 列目に設定する理由です。 どういう意味ですか? この問題について、(可能であれば)数字で説明していただけますか?

私が試したこと:

コードを理解しようとしましたが、理解できませんでした。

解決策 1

inputDir は (おそらく) 移動の方向、つまり (速度 = 1 と仮定)

JavaScript
posNext.x = inputDir.x  + posCur.x;
posNext.y = inputDir.y  + posCur.y;

実際のコードは

引用:

snakeArr.unshift({ x: snakeArr[0].x + inputDir.x, y: snakeArr[0].y + 入力ディレクトリ.y })

JavaScript
inputDir = { x: 0, y: 1 };

は単なる初期化です。オブジェクトは下に移動し始めます。

コメント

タイトルとURLをコピーしました