今回はJavaScriptでスクランブルのようなゲームをつくります。

スクランブル(Scramble)は、1981年コナミから発表された縦画面横スクロールシューティングゲーム。ジェット機型の宇宙船を地形や敵に衝突するのを避けながら操縦し敵基地を破壊するのが目的です。今回は遊び心も入れて敵基地の近くに「鳩でもわかるC#ビル」も作ってみました。

HTML部分

HTML部分を示します。

style.css

グローバル変数と定数

JavaScript部分を示します。

terrain.jsは地形を文字列で表わしています。■は地面、▲上り坂、△下り坂、▼と▽は上からぶら下がっている障害物、Mはミサイル、Fは燃料タンク、●は建物の壁、○は下半分は当たり判定がない建物の壁、Bは敵の基地、1~7はステージの区切り(復活時はここからのスタートとなる)です。

グローバル変数と定数を示します。

各クラスの定義

ゲームで必要な各キャラクターを移動させたり描画するためにクラスを定義します。

Positionクラス

Positionクラスは座標を管理するためのものです。

Charcterクラス

Charcterクラスは各キャラクターの基底クラスです。

Obstacleクラス

障害物を描画と当たり判定に必要なObstacleクラスを定義します。

Playerクラス

自機を描画と当たり判定に必要なPlayerクラスを定義します。

Bulletクラス

自機から発射された弾丸の描画と当たり判定に必要なBulletクラスを定義します。

Bombクラス

自機から投下された爆弾の描画と当たり判定に必要なBombクラスを定義します。

Missileクラス

敵のミサイルの描画と当たり判定に必要なMissileクラスを定義します。

FuelTankクラス

敵の燃料タンクの描画と当たり判定に必要なFuelTankクラスを定義します。

UFOクラス

敵のUFOの描画と当たり判定に必要なUFOクラスを定義します。

FireBallクラス

敵のファイアボールの描画と当たり判定に必要なFireBallクラスを定義します。

Finalbaseクラス

敵司令部の描画と当たり判定に必要なFinalbaseクラスを定義します。

Sparkクラス

爆発によって発生した火花の描画と当たり判定に必要なSparkクラスを定義します。

続きは次回にします。