フルーツキャッチ


プログラムの中身なかみくわしくみてみよう

フルーツをキャッチするゲームのスクリプトについてスプライトごとに解説かいせつします。

カニ

主なうご

  • キーボードの左(←)キーと、右(→)キーで、左右に移動いどうする。
  • に当たったら元気を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を送りゲームを開始します。

^