プログラムの中身を詳しくみてみよう
フルーツをキャッチするゲームのスクリプトについてスプライトごとに解説します。
カニ
主な動き
- キーボードの左(←)キーと、右(→)キーで、左右に移動する。
- に当たったら元気を1減らし、音を鳴らして点滅する。
- に当たって元気が1になったら コスチュームを (ダメージ)にし、へ 瀕死を送る。
- に当たって元気が0になったら コスチュームを にし、と へGAME OVERを送る。
- から回復が送られてきたら コスチュームを(正常)にする。
「Start」を受け取ったとき
-
- 説明
初期状態に設定し、カニを操作する処理を開始します。
- 必要な処理
- 1. 変数の初期化
- 2. 左右矢印キー(← / →)が押された時の左右への移動
- 3. 鬼に触れてしまった時の処理
- コードの詳細
-
その後、右向き矢印(→)キー、左向き矢印(←)キーが押されているかどうか、 鬼に触れているかどうかをチェックするループを開始し、 元気が0になるまで以下の「A」をくり返します。
- A :
横に動かすを実行します。
鬼に触れ、且つ無敵状態でない (無敵状態=0)場合は以下の「B」の処理をします。 - B :
元気を1減らします。
もし元気が0になってしまったら GAME OVERを送り、このスクリプトを止めます。
鬼に当たったの音を鳴らします。
無敵状態(無敵状態=1)にし、鬼に当たってしまってから一定時間は、 さらに鬼に当たってしまっても元気が減らないようにします。
鬼に当たったを送ります。 鬼に当たってしまった時の処理をループ内でおこなうと、その間は左右のキーで動かすことができなくなるため、 メッセージを送った先でおこなうようにしています (鬼に当たってしまった時の処理と左右のキーが押された時の処理が並行しておこなわれるようにします)。
もし元気が1になってしまったら 瀕死 を送り、コスチュームをダメージにします。
初期化
-
- 説明
初期状態にします。
- コードの詳細
コスチュームを正常にし、 ちょうどよい大きさにするために大きさを40%にしています。
コスチュームを最初から小さくしておけば大きさを変更しなくても大丈夫です。
x座標を左端(-210)、 y座標を(-140)にします。
動く速さ を6にします。左右の矢印キーを押すと6ずつ移動します。
元気を2にします。 鬼に当たると1ずつ減り、ハートを取ると1ずつ増えます。0になるとゲームオーバーとなります。
無敵状態を0にします。
表示します。
横に動かす
-
- 説明
左向き矢印(←)キー、右向き矢印(→)キーでカニを横に動かすための処理です。
- コードの詳細
右向き矢印キーが押されていたら、 x座標を +動く速さの分だけ変えます (右に動く速さずつ動かします)。
ただし、移動後に右端を超えてしまう位置にいる場合はx座標を 右端にします。
左向き矢印キーが押されていたら、 x座標を -動く速さの分だけ変えます (左に動く速さずつ動かします)。
ただし、移動後に左端を超えてしまう位置にいる場合はx座標を 左端にします。
鬼に当たったを受け取ったとき
-
- 説明
鬼に当たってしまった時に実行します。
カニを点滅させ、0.5秒待った後に無敵状態を解除します。
- コードの詳細
隠して0.1秒待つ、 表示して0.1秒待つをくり返して点滅させます。
0.5秒待った後に無敵状態を0にして無敵状態を解除します。
GAME OVERを受け取ったとき
-
- 説明
鬼に当たり、元気が0になってしまった時に実行します。
カニが爆発しているように見せます。
- コードの詳細
念のため元気を0にします。
コスチュームの爆発2と 爆発1を0.3秒ごとに交互に表示し続けます。
回復を受け取ったとき
- ハートをキャッチするとハートから回復が送られてきます。
コスチュームを正常にします。
カニのビーム
主な動き
- スペースキーが押されたら発射する(カニの位置に表示してから上に向かって移動する)。
- から 撃墜 が送られてきたら隠す(非表示にする)。
がクリックされたとき
- 非表示にし、他のスプライトと重なった際に後ろに表示されるように30層下げます
(他のどのスプライトよりも下の層にあればよいので必ずしも30層である必要はありません)。
大きさは30%にします。
スペースキーが押されたとき
-
- 説明
ビームを発射します。
カニと同じ座標から表示し、上の端に着くまで上方向に10ずつ進みます
(鬼に当たったら非表示にしますが、その処理は撃墜 を受け取ったときのほうで書きます)。
- コードの詳細
x座標、 y座標をカニと同じ座標にします。
zoopの音を鳴らします。
非表示から表示へ変更します。
端に触れるまでy座標を 10ずつ変える処理をくり返し、上に向かって動いていくようにします。
端に触れたら隠します。
以下のコードはどちらも、同じ動きになります。
撃墜を受け取ったとき
- カニのビームが鬼に当たった時にこのメッセージが送られてきます。
隠してから、このスプライトの他のスクリプトを止めます
(カニのビームが鬼に当たると撃墜が送られてきます)。
鬼
スプライトのinfo内の回転の種類を回転しないにしています。
主な動き
- 一定時間ごとに自分自身のクローンを作り、そのクローンが上から落ちる。
落ちる際の x座標はランダムに決定する。 スコアが高くなるほどクローンを作る間隔を短くする。 - に当たったら音を鳴らし、 コスチュームを ダメージにする。0.5秒たったらこのクローンを削除する。
- に当たったらへ 撃墜を送る。
がクリックされたとき
-
- 説明
初期化した後に自分自身のクローンを作り続けます。
クローンを作る間隔(出現間隔)はスコアによって決定します。
- コードの詳細
コスチュームを通常にし、 大きさを40%にして非表示にします。
x座標を0、y座標を 上端(180)にします。
落ちる速さの基準値を5にします。
「Start」を受け取ったとき
-
- 説明
Startを受け取ったときに以下を実行します。
クローンを作る間隔(出現間隔)はスコアによって決定します。
- コードの詳細
-
Startを受け取ったときに、
2秒待った後に自分自身のクローン作成をくり返します。
クローンを作るたびに、出現間隔を決めるを実行して
出現間隔を決定します。
出現間隔秒待ち、次のクローンを作ります。
出現間隔を決める
-
- 説明
出現間隔を決定します。
スコアが高いほど、 出現間隔を短くします。
- コードの詳細
現在のスコアを常にチェックし、 その値によって出現間隔を決定します。
スコアが10以下の場合がもっとも長く 、1.4秒ごとにクローンを作ります。
スコアが130よりも大きい場合がもっとも短く、 0.4秒ごとにクローンを作ります。
クローンされたとき
-
- 説明
地面に触れるまで上から下に向かって落ちます。
x座標、 落ちる速さはランダムに決定します。
カニのビームに触れたときの処理もここに書いています。
最後にクローンを削除します。
- コードの詳細
落ちる時の動きを決めるを実行します。
前に出して表示します。
地面に触れるまで以下の「A」の処理をずっとくり返した後にこのクローンを削除します。
- A :
y座標を 落ちる速さずつ下げます。
カニのビームに触れたら カニのビームに触れたを実行し、 0.5秒待ってからこのクローンを削除します。
落ちる時の動きを決める
-
- 説明
表示を開始する位置、落ちる速さを決定します。
- コードの詳細
落下開始時のy座標は常に 上端(180)にします。
x座標は左端(-210)から 右端(210)の間のどこかにランダムで決定します。
落ちる速さを 落ちる速さの基準値+(0~2)の 3つの中からランダムで決定します
(落ちる速さの基準値が 5であれば5~7のどれかになります)。
カニのビームに触れた
- 撃墜
を送ります。
popの音を鳴らします。
コスチュームをダメージにします。
倒した鬼の数、 スコアを1増やします。
フルーツ
フルーツは4種類ありますが、コスチュームを変えているだけであり、動きなどはすべて同じです。
主な動き
- 一定時間ごとに自分自身のクローンを作り、そのクローンが上から落ちる。
落ちる際の x座標と コスチュームはランダムに決定する。
スコアが高くなるほどクローンを作る間隔を短くする。 - に触ったら音を鳴らし、 スコアを2増やしてからこのクローンを削除する。
- 地面に落ちたらスコアを1減らし、
コスチュームを
にする。
0.5秒たったらこのクローンを削除する。
がクリックされたとき
-
- 説明
初期化した後に自分自身のクローンを作り続けます。
- コードの詳細
非表示にします。
x座標を0、y座標を 上端(180)にします。
落ちる速さを5にします。
「Start」を受け取ったとき
-
- 説明
Startを受け取ったときに以下を実行します。
クローンを作る間隔(出現間隔)はスコアによって決定します。
- コードの詳細
-
3秒待った後に自分自身のクローン作成をくり返します。
クローンを作るたびに、出現間隔を決める を実行してフルーツの出現間隔を決定します。
出現間隔秒待ち、次のクローンを作ります。
出現間隔を決める
-
- 説明
出現間隔を決定します。
スコアが高いほど、 出現間隔を短くします。
- コードの詳細
現在のスコアを常にチェックし、 その値によって出現間隔を決定します。
スコアが10以下の場合がもっとも長く、1.8秒ごとにクローンを作ります。
スコアが130よりも大きい場合がもっとも短く、0.6秒ごとにクローンを作ります。
クローンされたとき
-
- 説明
地面に触れるまで上から下に向かって落ちます。
x座標、 コスチュームはランダムに決定します。
カニに触れたときの処理もここに書いています。
最後にクローンを削除します。
- コードの詳細
落ちる時の動きを決めるを実行します。
前に出して表示します。
地面に触れるまで以下の「A」の処理をずっとくり返します。
- A :
y座標を 落ちる速さずつ下げます。
カニに触れたら キャッチされたを実行します。 地面に触れたら地面に落ちたを実行し、 このクローンを削除します。
落ちる時の動きを決める
-
- 説明
表示を開始する位置、コスチュームを決定します。
- コードの詳細
落下開始時のy座標は 常に上端(180)にします。
x座標は左端(-210)から 右端(210)の間のどこかにランダムで決定します。
コスチュームを4つのどれかにランダムで決定します。
キャッチされた
- popの音を鳴らします。
スコアを2増やします。
キャッチしたフルーツを1増やします。
このクローンを削除します。
地面に落ちた
- スコアを1減らします。
落としたフルーツを1増やします。
コスチュームをstar3-bにします。
ハート
主な動き
- 一定時間ごとに自分自身のクローンを作り、そのクローンが上から落ちる。
落ちる際の x座標はランダムに決定する。
元気の値が高くなるほどクローンを作る間隔を長くする。 - 下にまっすぐ落ちるのではなく横方向にも移動するようにする(斜めに落ちる)。
どちらの方向へどれだけ移動するのかはクローンが作られたときにランダムに決定する。 - 落ちている間にやフルーツや画面の端に当たったら跳ね返る。
- に触ったら音を鳴らし、 元気を1増やしてからこのクローンを削除する。
- に触ったらへ 回復を送る。
がクリックされたとき
-
- 説明
がクリックされたときに以下を実行します。
- コードの詳細
コスチュームをheart redにします。
非表示にします。
大きさを30%にします。
y座標を 上端(180)にします。
落ちる速さを5にします。
クローン?をnoにします。
「Start」を受け取ったとき
-
- 説明
初期化した後に自分自身のクローンを作り続けます。
元気の状態によってハートが出現する間隔を変更します。
(元気の値が大きいほど出現しにくくします)。
- コードの詳細
-
60秒待ちます。
自分自身のクローンを作ります。
出現間隔を決めるを実行し、 ハートの出現間隔を決定します。
ハートの出現間隔秒待ちます。
出現間隔を決める
-
- 説明
ハートの出現間隔を決定します。
元気の状態によってハートが出現する間隔を変更します
(元気の値が大きいほど出現間隔を長くなり出現しにくいです)。
- コードの詳細
現在の元気が1(2未満)なら ハートの出現間隔を10秒にします。
元気が2(3未満)なら ハートの出現間隔を30秒にします。
それ以外(3以上)ならハートの出現間隔を60秒にします。
瀕死を受け取ったとき
- 5秒後にクローンを作ります
(鬼に当たってしまい元気が 1になったら5秒後にハートを出現させます)。
クローンされたとき
-
- 説明
画面の上の端から下の端まで斜めに進みます。
x座標、落ちる速さ、 横に動く速さはランダムに決定します。
落ちている間に鬼やフルーツや画面の端に当たったら跳ね返ります。
カニに触れたら元気を1つ増やし、 回復を送ります。
(カニのコスチュームがダメージだったら 正常に戻します。)
- コードの詳細
自身がクローンであることを判別できるようにするために クローン?をyesにします。
跳ね返り中を0にします。
落ちる時の動きを決めるを実行します。
前に出して表示します。
地面に触れるまで以下の「A」処理をずっとくり返します。
- A :
y座標を 落ちる速さずつ下げます。
x座標を 横に動く速さずつ下げます。
カニに触れたら カニに触れたを実行し、 このクローンを削除します。
跳ね返りを実行します (他のスプライトや端に当たったら跳ね返ります)。 地面に触れたらコスチュームをstar3-bにします。
落としたハートを1増やします。
0.5秒待ってからクローンを削除します。
落ちる時の動きを決める
-
- 説明
表示を開始する位置、 落ちる速さ、 横に動く速さを決定します。
横に動く速さが0になった場合以外は斜めに落ちます。
- コードの詳細
y座標を 上端(180)にします。
x座標は左端(-210)から 右端(210)の間のどこかにランダムで決定します。
元気が1(2より小さい)なら 落ちる速さを5にします。
落ちる速さを
落ちる速さの基準値+(0~2)
の3つの中からランダムで決定します
(落ちる速さの基準値 が5であれば5~7のどれかになります)。横に動く速さを (-5~+5)の間でランダムに決定します。
カニに触れた
- popの音を鳴らし、 元気とキャッチしたハートを1ずつ増やし、 回復を送ります。
跳ね返り
-
- 説明
画面の端、鬼、フルーツに触れたら跳ね返る(横方向の動く向きを変える)ようにします。
- コードの詳細
端に触れたり、 鬼に触れたり、 フルーツに触れたりして且つ 跳ね返り中が0であれば 横に動く速さに-1をかけて反対の向きに変えます。 そして跳ね返り中を1にします。
跳ね返り中が1である間は再び鬼、フルーツ、 端に触れても向き(横に動く速さ)を変えないようにします。
3つのどれとも触れていない状態になったら跳ね返り中を0に戻し、 跳ね返ることができるようにします。向きを変えた直後はまだ他のスプライトに触れているため、 そこでまた向きを変えてしまうと向きの変更をくり返すだけで そのスプライトから離れることができなくなってしまいます。
それを防ぐために他のスプライトから一旦離れるまで 向きを変えないようにしています。
ステージ
主な動き
- がクリックされたらプレイ時間を計る タイマーをリセットし、各変数を初期化する。
- から GAME OVERが送られてきたら GAME OVERの音を鳴らし、 プレイ時間やキャッチしたフルーツの数、倒した鬼の数などを画面に表示する。
がクリックされたとき
- プレイ時間を計るタイマーをリセットし、 各変数を初期化します。
GAME OVERを受け取ったら
- GAME OVERの音を鳴らし、 プレイ時間やキャッチしたフルーツの数、倒した鬼の数などを画面に表示します。
GAME OVER
主な動き
- から GAME OVERが 送られてきたら画面中央の前面に表示し、すべてを止める。
がクリックされたとき
- 非表示にします。
大きさを50%にします。
x座標を0、 y座標を0(画面中央)にします。
GAME OVERを受け取ったら
- 2秒待ってから前に出して表示した後、すべてを止めます。
Start
主な動き
- がクリックされたらコスチュームをStartにして表示する。
- クリックされたら各スプライトへStartを送り、 非表示にする(各スプライト Startを受け取ってゲーム開始)。
がクリックされたとき
-
- 説明
- ゲームスタートの準備をする。
- 必要な処理
- 座標の初期化
Startの表示
マウスポインターが上に乗ったとき色を変える - コードの詳細
-
x座標(横の表示位置)を0、 y座標(縦の表示位置)を0にします。
コスチュームをStartにして表示します。 (ゲーム終了時は非表示になっているため)
マウスポインターがこのスプライトに触れているときは色を変え、 離れたら元の色に戻します。
このスプライトがクリックされたとき
-
- コードの詳細
-
コード「 がクリックされたとき」が動作しているので、止めます。
各スプライトにStartを送りゲームを開始します。