もぐらたたき後編

処理のコメント化

 まず初めに、見通しが甘かったため、前編の一部を修正させてください。
 ピクチャ番号関連の処理2行分をループの先頭へ移動しました。

 では、実際にもぐらを叩く処理のコメントを書いていきたいと思います。
 開始位置は前編の終了位置、条件分岐の下へ追加します。

 項目が多いですが、一つずつ消化していきたいと思います。

前提条件の確認

 今回は叩く対象をもぐらピクチャではなく、ウインドウピクチャにしています。

 前二つの条件はもぐらを叩くことが出来るか、最後の一つはその条件下で叩いたかを確認しています。

スコア処理

 まず、もぐらの状態からそのもぐらの得点を取得しましょう。
 もぐらの状態は前提条件確認で取得していますので、これを利用してユーザーデータベースから取り出しています。

 取り出した値を可変データベースのスコアへ加算します。

 スコアを文字列ピクチャで表示します。今回はピクチャ番号50番を利用し、ゲーム画面の左上へ表示しています。

もぐらの状態処理

 この処理は前編で利用した残り時間が0になった時にもぐらを消す処理のコピーで間に合います。

 コメントを少し変更しました。

重複部分をまとめる

 ここまででゲームは完成しています。
 ただ、同じ処理をする部分が複数箇所にあるので一つにまとめたいと思います。
 残り時間を再設定する処理と、もぐらを消去する処理がそれに該当します。
 ついでにもぐらを表示する処理も取り出して、もぐらの状態変更としてイベントを作成していきます。

 設定ボタンを押して設定していきます。

呼び出す側のイベント

 セルフ0にID、セルフ1に変更後のもぐらの状態が入ってくるように設定しました。

 もぐらの状態はリストから選択できるように設定しました。今回は無い方がよかったかもしれません。

 もぐらの状態による条件分岐が使いやすいのでカットして、先ほど作った新しいイベントへペーストしておきます。

 カットした部分には新しい条件分岐を加えます。

 次にスコア処理の下にあるもぐらを隠す処理をカットして、イベントを挿入します。


 以上で呼び出される側のイベントの処理ができました。

呼び出される側のイベント

 ペーストしたイベントを再利用することでさくっと作成できます。

 まずは先頭に各ピクチャ番号を変数へ代入します。これは新規にイベントを追加します。
 条件分岐の部分が大きく変更します。前回は変更前のもぐら状態で分岐しましたが、今回は変更後のもぐらの状態で分岐します。

 それにともない、イベントの中身を前後入れ替えました。
 あとは、これまでコモンセルフ変数10番(ループカウンタ)だった部分をコモンセルフ変数0番(ID)に変更、コモンセルフ変数33番(もぐらの状態)をコモンセルフ変数1番(変更後の状態)に置き換えて完成です。

 条件やループが複雑になったり重複したりしている場合にその部分を新しいコモンイベントへ書き出すと、見やすくなるだけでなく、バグが減ったり、調整や修正がしやすくなるという利点もあるので、有効に活用したいです。

完成


 これにて一応完成ですが、もぐらが3種類いることをゲームに生かせなかったことが残念です。
 減点もぐらと加点もぐらの画像を似たものにして迷わせるとか、加点もぐらを時間内に叩けなかったら減点にすると緊張感が生まれる、かもしれません。
 音楽、効果音を追加すると盛り上がる、かもしれません。
 タイトル画面、制限時間、ハイスコアを追加するとよりゲームらしくなる、かもしれません。

 まだ自作ゲームのアイデアがまとまらないので、次回はドラッグ&ドロップを利用した簡易ジグソーパズルを作りたいと思います。
 長文駄文失礼いたしました。

mole.zip 146,259B

※軽量化のためexeファイル、dllファイルを削除しています