スクリプト言語の HSP については、公式ホームページの「HSPTV!」をどうぞ。(戻る)
HSP版シューティング・ゲームのミニ講座を載せます。
HSPでプログラミングを始めたばかりの入門者向けに用意しました。
どうぞ。
考え方
- シューティング・ゲームの初期化
- ゲームループにより(a)~(h)を繰り返す
- 再描画の停止
- キーの入力
- 物体の移動(自機,弾丸,敵機,流星)
- 物体の衝突(自機,弾丸,敵機)
- 物体の描画(消去,流星,弾丸,敵機,自機)
- 残機の調査(ゲームオーバー,コンティニュー)
- 再描画の開始
- ウェイトの処理
- プログラムの終了
進め方
ミニ講座の進め方は、自機、弾丸、敵機、当たり判定、…、完成という形で徐々に付け足していきます。
この方法で簡単なゲーム作りの方法を学べると思います。
付け足した部分は色を変えてハイライト部分としてます。
ハイライト部分以外は、どこも修正してません。
HSP付属のスクリプト・エディタを起動して、
サンプルのハイライト部分を徐々に入力して行けば良いでしょう。
入力が終わるたびに「F5」キーを押して実行結果を確認するように心がけましょう。
目次
番外編
- 第10回 影付き文字の表示
- 第11回 多重流星群の表示
- 第12回 敵テーブルの実装
- 第13回 ボス・キャラの実装
- 第14回 ステージ・クリアの実装
変数・配列
名前 | 意味 | 講座 |
---|---|---|
自機の管理 | ||
dim x | 自機の横軸 | 第2回 |
dim y | 自機の縦軸 | 第2回 |
dim fight | 自機の残機数 | 第8回 |
dim blast | 自機の爆発カウンタ | 第6回 |
弾丸の管理 | ||
dim tamaF,10 | 有無フラグ | 第3回 |
dim tamaX,10 | 弾丸の横軸 | 第3回 |
dim tamaY,10 | 弾丸の縦軸 | 第3回 |
dim tamaTrigg | 弾丸の発生間隔 | 第3回 |
敵機の管理 | ||
dim enemyF,20 | 有無フラグ | 第4回 |
dim enemyX,20 | 敵機の横軸 | 第4回 |
dim enemyY,20 | 敵機の縦軸 | 第4回 |
dim enemyZ,20 | 敵機の爆発カウンタ | 第6回 |
dim enemyCycle | 敵機の発生間隔 | 第4回 |
流星の管理 | ||
dim starF,50 | 有無フラグ | 第7回 |
dim starX,50 | 流星の横軸 | 第7回 |
dim starY,50 | 流星の縦軸 | 第7回 |
dim starCycle | 流星の発生間隔 | 第7回 |
スコアの管理 | ||
dim Score | 現在スコア | 第8回 |
dim HiScore | 最高スコア | 第8回 |
その他 | ||
dim key | キー入力 | - |
dim n | 整数型の一時変数 | - |
sdim msg | 文字型の一時変数 | - |
サブルーチン・命令・関数
名前 | 内容 | 講座 |
---|---|---|
メイン部 | ||
*Init | 変数・配列の初期化 | - |
*Start | スタート画面の処理 | 第9回 |
*Main | ゲームループの処理 | - |
自機の処理 | ||
*FightDraw | 自機の移動、描画 | 第2回 |
FightCrash(x,y) | 自機の衝突判定 | 第5回 |
弾丸の処理 | ||
*TamaBirth | 弾丸の発生 | 第3回 |
*TamaDraw | 弾丸の移動、描画 | 第3回 |
TamaCrash(x,y) | 自機弾の衝突判定 | 第5回 |
敵機の処理 | ||
*EnemyBirth | 敵機の発生 | 第4回 |
*EnemyDraw | 敵機の移動、描画 | 第4回 |
流星の処理 | ||
*StarBirth | 流星の発生 | 第7回 |
*StarDraw | 流星の移動、描画 | 第7回 |
その他 | ||
ScoreCalc score | スコアの加算 | 第8回 |
*TelopDraw | テロップの描画 | 第8回 |
上記のサブルーチン(命令,関数)の見分け方は、次のようになります。
- 「*」マークがあるのがサブルーチン
- 引数が付いてるのがユーザ定義命令(ScoreCalc)
- カッコがあるのがユーザ定義関数(FightCrash、TamaCrash)
関連記事
- じゃんけんゲームの製作講座 (C言語)
- じゃんけんゲームの製作講座