“RUN” それは魔法の言葉

私とコンピュータの思い出を、だらだらと綴ります。最近はHSP3でのゲーム作り日記です

145.HSPでゲームを作ろう:培養臼(BAIOUS) その22

新年あけましておめでとうございます。
今年もHSP3で、アラフィフの趣味プログラムを続けていきますので、どうぞよろしくお願い致します。

さて、昨年からの続き。コンテストに応募した後に、新たな機能を作るようにした。

 ・コンティニュー機能
 ・ステージ練習機能

まずはコンティニュー機能からとりかかった。
ゲームオーバー画面にコンティニューするか、そのまま終わるかの選択肢を表示する。
ついでにコンティニューを無限にできても仕方ないので、回数を3回にした。
ちゃんと定数に定義したので、ソースの冒頭を書き換えれば回数を増やしたり、減らしたりできるようにした。

ゲームオーバー画面は、BGMの長さを考慮した長さのループを作って、ループが終わったらタイトルに戻るように構成していたので、キー入力を受け付けていなかった。まずキー入力のルーチンを組み込み、コンティニューするか終了するかの選択ができるようにした。

コンティニューを選択したら、同じステージを繰り返すように、フラグを立てて、ステージデータの読み込み行数を変更せずに、ステージ初期化ルーチンに飛ばしたのだが、スプライトの表示初期化や、フラグの処理が足りておらず、それらの処理の実行場所を変えたり、処理を追加した。

コンティニューの仕様をもう少し詰める必要があった。
まず、エンディングをどうするか。
せっかくなので頑張ってもらうために、エンディングはノーコンティニューじゃないと見れないようにした。

よくある処理だが、コンティニューしたとわかるように、スコアを1足すことにした。ゲーム中の最低点が100点なので、1の位は0より増えない。これで見た目でコンティニューしたかがわかる。

ボーナスステージでもゲームオーバーになることがある。ここでコンティニューしたら、次のステージに進むようにした。
あと、最終ステージはコンティニューできないようにした。

このような条件を満たすための条件分岐と、フラグの追加などを行って、コンティニュー機能が完成した。

もともとコンティニューさせることを決めずに作っていた割には、比較的簡単に処理を追加できたのはラッキーだった。
なにせ、フローチャート作成も、プログラムの構造設計も全く行わずに作ってるからww

まぁ、このレベルのソース量ならスパゲッティにならずに見渡せるからいいかな。
構造設計、今後は多少やっておくかw