新年あけましておめでとうございます。
今年もHSP3で、アラフィフの趣味プログラムを続けていきますので、どうぞよろしくお願い致します。
さて、昨年からの続き。コンテストに応募した後に、新たな機能を作るようにした。
・コンティニュー機能
・ステージ練習機能
まずはコンティニュー機能からとりかかった。
ゲームオーバー画面にコンティニューするか、そのまま終わるかの選択肢を表示する。
ついでにコンティニューを無限にできても仕方ないので、回数を3回にした。
ちゃんと定数に定義したので、ソースの冒頭を書き換えれば回数を増やしたり、減らしたりできるようにした。
ゲームオーバー画面は、BGMの長さを考慮した長さのループを作って、ループが終わったらタイトルに戻るように構成していたので、キー入力を受け付けていなかった。まずキー入力のルーチンを組み込み、コンティニューするか終了するかの選択ができるようにした。
コンティニューを選択したら、同じステージを繰り返すように、フラグを立てて、ステージデータの読み込み行数を変更せずに、ステージ初期化ルーチンに飛ばしたのだが、スプライトの表示初期化や、フラグの処理が足りておらず、それらの処理の実行場所を変えたり、処理を追加した。
コンティニューの仕様をもう少し詰める必要があった。
まず、エンディングをどうするか。
せっかくなので頑張ってもらうために、エンディングはノーコンティニューじゃないと見れないようにした。
よくある処理だが、コンティニューしたとわかるように、スコアを1足すことにした。ゲーム中の最低点が100点なので、1の位は0より増えない。これで見た目でコンティニューしたかがわかる。
ボーナスステージでもゲームオーバーになることがある。ここでコンティニューしたら、次のステージに進むようにした。
あと、最終ステージはコンティニューできないようにした。
このような条件を満たすための条件分岐と、フラグの追加などを行って、コンティニュー機能が完成した。
もともとコンティニューさせることを決めずに作っていた割には、比較的簡単に処理を追加できたのはラッキーだった。
なにせ、フローチャート作成も、プログラムの構造設計も全く行わずに作ってるからww
まぁ、このレベルのソース量ならスパゲッティにならずに見渡せるからいいかな。
構造設計、今後は多少やっておくかw