プログラムの中身を詳しくみてみよう
お化け退治のスクリプトについてスプライトごとに解説します。
魔法使い
主な動き
- キーボードの上(↑)、下(↓)、左(←)、右(→)の矢印キーで動かします。
- お化けに当たってしまうと「GAME OVER」となります。
「Start」を受け取ったとき
-
- 説明
上下左右の矢印キーで魔法使いを動かします。
ゴーストに触れてしまったらダメージを受けた見た目に変更して、「game over」を送って終了します。
- コードの詳細
各変数の値、コスチューム、座標、向きを初期化します。
終了が1になるまで (ゴーストに触れてしまうまで)以下のAの処理をくり返します。
- A :
押されたキーによって以下のように移動します。
「ゴーストに触れたら」以下を組み合わせます。
・gongの音を鳴らす
・コスチュームをダメージにする
・終了を1にする
・game overを送る
星
主な動き
- スペースキーを押すと魔法使いの周りを回ります。
- クローンを1つ作り、2つで回ります。
がクリックされたとき
- 大きさを30%にして非表示にします。
回転するときの半径(30)、 まわる速さ(15度)、 まわる向き(1)に設定します。
攻撃中を「0」にします。
スペースキーが押されたとき
-
- 説明
魔法使いの座標を中心とした 半径の値を半径とする円に沿ってまわります。
対角に1つクローンを作り、2つで同じ速さ、同じ向きでまわります。
星がまわっている間(攻撃中が1の間)は スペースキーが押されても何もせずに終了します。
- コードの詳細
星がまわっていない(攻撃中 が0)場合のみ以降の処理をします。
攻撃中が1の場合は何もしません。
攻撃中を1にします。 「bird」を鳴らして表示します。
向きを魔法使いの向きに向けます
(魔法使いは右を向いている場合に45度、左を向いている場合に-45度になるようにしています)。
一旦向きを逆にしてから(180度変更してから)クローンを作ります。
クローンを作ったらまた向きを逆にして(180度変更して)元の 向きに戻します。
魔法使いが右を向いている場合は右まわり(まわる向きを1)、 魔法使いが左を向いている場合は左まわり(まわる向きを-1)にします。
周囲をまわるを実行します。この時、まわる角速度として(まわる速さ× まわる向き)を渡します。
まわり終わったら非表示にして攻撃中を0にして終了します。
クローンされたとき
-
- 説明
2つ目以降の星(クローンの星)の動きを指示しています。
魔法使いが右を向いていたら右回り、左を向いていたら左回りで動きます。
- コードの詳細
魔法使いが右を向いている場合は右まわり(まわる向きを1)、 魔法使いが左を向いている場合は左まわり(まわる向きを-1)にします。
周囲をまわるを実行します。
この時、まわる角速度として(まわる速さ×まわる向き)を渡します。
まわり終わったらクローンを削除します。
周囲をまわる
-
- 説明
魔法使いの座標を中心とし、半径を半径とした円に沿って星を動かします。
- コードの詳細
以下のAの処理を18回くり返します。
- A :
星のx座標を 魔法使いのx座標+ 半径×(sin( 向き))で計算します。
星のy座標を 魔法使いのx座標+ 半径×(cos( 向き))で計算します。
まわる角速度だけ右(星を回す方向)に回します。
星の向きは魔法使いを中心とした円の外側に向け、 その向きの値を 座標を計算する際の角度として使用しています。
・半径=30
・x=30×sin(45度)、y=30×cos(45度)
・星のx座標=魔法使いのx座標+30×sin(45度)
・星のy座標=魔法使いのy座標+30×cos(45度)
お化け
主な動き
- ゲーム開始時に画面の4隅から合計4体を出現させます。
それ以降は5秒ごとに同じように画面の4隅から合計4体を出現させます。 - 魔法使いがいる方向に向かって進んでいきます
(1歩進むたびに向きを魔法使いがいる方向に向けます)。 - 星に当たったら20歩×3回(合計60歩)だけ後ろに下がり、薄くなっていって消えます。
「Start」を受け取ったとき
-
- 説明
Startを受け取ったとき、5秒経つごとに画面の4隅に1体ずつ(計4体)ずつクローンを作ります。
- コードの詳細
大きさを20%にして隠します。終了 が1になるまで、以下のAの処理をくり返します。
- A :
x座標を「200」、 y座標を「150」にして画面の右上隅に自分自身のクローンを作ります。
y座標を「-150」に変えて画面の右下隅に自分自身のクローンを作ります。
x座標を「-200」に変えて画面の左下隅に自分自身のクローンを作ります。
y座標を「150」に変えて画面の左上隅に自分自身のクローンを作ります。
5秒待ちます。
クローンされたとき
-
- 説明
魔法使いがいる方向へ向いて、1歩進むをくり返すことで魔法使いを追いかけます。
星に当たったら「20」×3歩下がり、徐々に薄くなりながら消えます。
- コードの詳細
表示させ、終了が 1になるまで以下のAの処理をくり返します。
- A :
魔法使いがいる方向へ向けてから、1歩動かします。
魔法使いの周りを回る星に当たったら、以下のBの処理をします。 - B :
「zoop」の音を鳴らします。
20歩ずつ3回後ろに下げます。
ghostの効果を10ずつ変える を10回くり返して徐々に消えていくようにします。
そして、このクローンを削除します。
GAME OVER
主な動き
- から 「game over」が送られてきたら、画面中央の前面に表示します。
がクリックされたとき
- 非表示にして、大きさを50%にします。
x座標を0、y座標を0(画面中央)にします。
GAME OVERを受け取ったら
- 3秒待ってから、前に出して表示した後にすべてを止めます。
Start
主な動き
- がクリックされたらコスチュームをStartにして表示する。
- クリックされたら各スプライトへStartを送り、 非表示にする(各スプライト Startを受け取ってゲーム開始)。
緑の旗がクリックされたとき
-
- 説明
- ゲームスタートの準備をする。
- 必要な処理
- 座標の初期化
Startの表示 - コードの詳細
-
x座標(横の表示位置)を0、 y座標(縦の表示位置)を0にします。
コスチュームをStartにして表示します。 (ゲーム終了時は非表示になっているため)
マウスポインターがこのスプライトに触れているときは色を変え、 離れたら元の色に戻します。
このスプライトがクリックされたとき
-
- コードの詳細
-
コード「 緑の旗がクリックされたとき」が動作しているので、止めます。
各スプライトにStartを送りゲームを開始します。