JavaScript 150行でパックマンを作ってみた

クラシックなゲームを作るのに、複雑なAIや物理エンジンは必要ありません。

私は150行のvanilla JavaScriptを使ってパックマンを作成しました。

そのロジックは、3つのシンプルな柱に基づいています:

  • テキストベースの迷路
  • グリッド移動
  • 貪欲なゴーストのロジック

迷路は単純な文字列の配列です。 文字が壁やペレットを表します。 テキストを入力するだけで、レベルを編集できます。

当たり判定は簡単です。 ピクセル単位の計算ではなく、グリッドを確認します。 次のグリッドセルが壁でなければ、プレイヤーは移動します。 たった一つのシンプルなチェックですべてが完結します。

レスポンスの良い操作感を実現するには、小さなバッファが必要です。 プレイヤーが意図した方向を別途保存しておきます。 道が開けたときにのみ、その方向に切り替えます。 これにより、動きがぎこちなくなるのを防げます。

ゴーストには貪欲なロジックを採用しています。 移動可能なマスを確認し、プレイヤーに最も近いマスを選択します。 わずかなランダム性を加えることで、生存率が上がります。 このシンプルな計算によって、ゴーストが賢く感じられるようになります。

テキスト迷路 + グリッド移動 + 貪欲なゴースト = アーケードのアイコン。

ここで遊べます: https://dev48v.infy.uk/game/day11-pacman.html

出典: https://dev.to/dev48v/i-built-pac-man-in-150-lines-of-vanilla-javascript-39a0