SOURCE CODE GUIDE

ASTRO DEFENDERゲームの動きを、
コードから読み解く。

1つの HTML ファイルで動くシューティングゲーム。
画面に描く、敵を動かす、弾を当てる、音を鳴らす。
その仕組みを、実際のソースと一緒に学ぶ解説です。

敵の編隊、弾、自機、バリアをCanvasに描いたASTRO DEFENDERのプレイ画面
この画面の絵も音も、コードから生成。
  • 全23項目 / 4つの分野
  • 対象ソース v3.1.0
  • HTML・CSS・JavaScript
  • Canvas 2D / Web Audio

まずは、この順番で。

全体像をつかむための5項目

ファイルの役割を知り、時間と状態の管理を押さえたら、入力から弾の処理へ。
「操作すると画面が変わる」までの流れを追えます。

  1. どこに何があるか全体構成 →
  2. 時間を進めるゲームループ →
  3. 処理を切り替える状態遷移 →
  4. 操作を受け取る自機と入力 →
  5. ルールを適用する弾と衝突 →

ソースコード解説

気になる項目から読めます

各ページに、仕組みの説明・ソースの抜粋・確認課題をまとめました。
関数名を手掛かりに、ゲーム本体のコードと行き来してください。

01 / 7 ITEMS

ゲームの土台を知る

ファイルの構成から、時間・状態・描画・当たり判定まで。

02 / 6 ITEMS

戦闘の仕組みを追う

自機と敵を動かし、弾・バリア・得点・アイテムをつなぎます。

03 / 4 ITEMS

戦闘の展開を広げる

必殺技、ウェーブの切り替え、ボスと突入する敵を読み解きます。

04 / 6 ITEMS

演出・品質・改造を学ぶ

絵と音を仕上げ、テストで確かめ、自分の変更につなげます。

ひとつの操作が、画面になるまで。

ゲームは「入力」「状態の更新」「描画」を繰り返しています。
描かれた絵と、その裏で変わるデータを分けて読むのが出発点です。

  1. 1. 入力を記録keys / mouseX
  2. 2. 状態を更新update(dt)
  3. 3. 衝突と得点hit() / addScore()
  4. 4. 画面を描画draw(t)

ファイル全体の構成を詳しく見る →

手元のソースで確かめる

ゲームとソースコード

ゲーム本体はルートの game.html です。各解説のコード枠から、GitHubの該当箇所へ移動できます。

ゲームをプレイ · 本体HTMLを保存

変更後はテストで確認

リポジトリのルートで次を実行します。ゲームのルールをNode.jsの組み込みテスト機能で検証できます。

node --test tests/*.test.cjs
テストの仕組みを読む →