4.風船ゲーム ロジック&解説

 プログラムの実行結果

風船がランダムで現れますので、ネコを方向キーにて操作してタッチします。タッチすると得点­が加算されます。

 

 プログラム(ねこ)

今回は、ねこに対するプログラムが2つ設定されています。

 

script_cat_1

まず、一つ目のプログラムです。

このプログラムではカーソル入力に伴う、ねこの動きを定義しています。

①緑の旗がクリックされた時点で起動します。

②まず、ねこの初期位置を設定します。ここでは、x座標、y座標共に0となり、画面の中心が初期位置となります。

③変数「時間」が1より小さくなるまで繰り返します。後ほど出てきますが、変数はこのゲームの制限時間を定義しており、1秒ごとに減っていきます。つまり、制限時間が0になるまで繰り返します。

④カーソルボタン(↑)を押した時の動きとなります。

押している間、y座標を2ずつ動かします。(画面では上に進みます)

⑤はカーソルボタン(↓)を押した時の動きとなり、反対に下に動きます。

⑥、⑦も考え方は同様ですがこちらは向きの設定が入っています。

 

script_cat_2

こちらが2つ目のプログラムです。

ここでは1秒ごとに猫の画像を変えて、歩いているように見せています。

①こちらも緑の旗をクリックした時点で起動します。

②1つ目のプログラムと同様に、変数「時間」が1より小さくなるまで(0になるまで)繰り返します。

③1秒ごとにコスチュームを変えて歩いているように見せています。

 

 

 プログラム(風船)

風船のプログラムも2つに分かれています。

script_balloon_1

①こちらも、緑色の旗をクリックすると起動します。

②まず変数「point」を初期化します。この変数はゲーム内でねこが風船をタッチした時の点数となります。緑色の旗をクリックしたということは、ゲーム開始の状態ですので、点数を0にします。

③ねこのロジックと同じですね。時間が切れるまで繰り返されます。

④画面に風船を表示させます。

⑤風船の位置を決めます。ゲームですので、横位置をランダムで移動させます。

⑥風船を表示させたあと、風船を上に動かすため繰り返し処理に入り、y座標を4ずつ進めます。

⑦ここでいうスプライト2とは、ねこを指しています。風船がねこに触れた時点でこのロジックに入ります。

触れた時点で、【隠す】命令にて画面から見えないようにします。また、ねこが風船に触れたということで、点数となる変数「point」を1加算します。

⑧ここでは⑥の繰り返しが終わった後の命令となります。

つまり、風船がy座標へ4進むのを90回繰り返した後となり、画面の上まで風船が進んだ状態となります。

風船が枠外まで進んだため、風船を【隠す】にて非表示にしています。

1秒待機後、③の繰り返し内の頭に戻り、新たに風船をランダムで表示させます。

※本来は④と⑤については、表示する位置を決めてから表示する方が正しいです。プログラムとして、④と⑤の間の処理時間が極小のため不自然には見えません。

script_balloon_2

もう一つのプログラムは変数【時間】をカウントダウンするプログラムとなります。

①他と同様に、緑色の旗がトリガーとなります。

②変数【時間】の初期化を行っています。

ここでは制限時間を50秒と設定しました。

③1秒待ってから変数【時間】を1減らすことを50回繰り返しています。これでタイマーの役割を果たしています。

 

 

今回のプログラムでは、それぞれ2つずつのプログラムが同時に起動されることになります。

これを上手く組み合わせることで、ゲームを作成しています。

 

※キッズプログラミング講座では上記内容を子供にもわかりやすい表現に変えて教えます。