爆弾ばくだんゲーム


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

爆弾ばくだんゲームのスクリプトについてスプライトごとに解説かいせつします。

プレイヤー

主なうご

  • 上(↑)、下(↓)、左(←)、右(→)の矢印やじるしキーでうごかします。
  • スペースキーをすと爆弾ばくだんきます。
  • ペンギンやほのおに当たってしまうとGAME OVERとなります。
  • 爆弾ばくだんは一度に4つまでくことができます。
  • 左折させつ右折うせつをしたさいには、曲った後の道の中央に位置いちするように座標ざひょう調整します。

「Start」を受け取ったとき

    • 説明せつめい
    • 上下左右の矢印やじるしキーでPlayerをうごかし、スペースキーで爆弾ばくだんきます。

      ペンギンやほのおれてしまったらダメージを受けた演出えんしゅつをし、 GAME OVERを送って終了します。

    • コードの詳細しょうさい
    • 各変数かくへんすうあたい、コスチューム、座標ざひょう初期化しょきかします。

      ペンギンまたはほのおれるまでAの処理しょりをくり返します。

    • A :

      されたキーによって対応たいおうしたスクリプトを実行します。

    • ペンギンまたはほのおれたら以下いかのように ダメージを受けたを実行して終了します

      ダメージを受けたの中で game overを送ります)。

爆弾ばくだん

    • 説明せつめい
    • Playerがいる場所に爆弾ばくだんきます。

      ただし、1つ前の爆弾ばくだんいた直後であったり、 最大数(4つ)の爆弾ばくだんをすでにいてしまっていたりする場合は爆弾ばくだんきません。

    • コードの詳細しょうさい
    • 爆弾ばくだん使用不可ふかが0(爆弾ばくだんが使用可能かのう)かつ 使用中の爆弾ばくだんが4 (同時に使用できる爆弾ばくだんの数)より少ない場合のみAの処理しょりをして爆弾ばくだんきます。

    • A :

      爆弾ばくだんのクローンを作ります。
      使用中の爆弾ばくだんを1やします。
      爆弾ばくだん使用不可ふかを1にします。
      爆弾ばくだん設置せっちを送ります。

爆弾ばくだん設置せっちを受け取ったとき

  • 1秒待ってから爆弾ばくだん使用不可ふか を0にします(爆弾ばくだん使用不可ふか状態じょうたい解除かいじょします)。

ダメージを受けた

    • 説明せつめい
    • ペンギンまたはほのおれてダメージを受けたときの演出えんしゅつをし、 game overを送ります。

    • コードの詳細しょうさい
    • コスチュームをダメージにします。

      meow(ねこの鳴き声)の音を鳴らします。

      以下いかのAの処理しょりを40回くり返します。

    • A :

      y座標ざひょう を2ずつえます(上方向に2だけうごかします)。
      ghost効果こうかを3ずつえます (少しずつうすくなって消えていくようにします)。

    • game overを送ります。

右へ移動いどう

    • 説明せつめい
    • 右方向へ移動いどうします。ただし右がわかべがない場合のみ移動いどうします。

    • コードの詳細しょうさい
    • 向きを右方向(90度)にします。

      Playerが右端みぎはしにいなければ(x座標ざひょう右端みぎはしなら) 横方向を実行して右に2だけ移動いどうします。

      ただしx座標ざひょう右端みぎはし-1である場合は右に1だけ移動いどうします。

左へ移動いどう

    • 説明せつめい
    • 左方向へ移動いどうします。ただし左がわかべがない場合のみ移動いどうします。

    • コードの詳細しょうさい
    • 向きを左方向(-90度)にします。

      Playerが左端ひだりはしにいなければ(x座標ざひょう左端ひだりはしなら) 横方向を実行して左に2だけ移動いどうします。

      ただしx座標ざひょう左端ひだりはし+1である場合は左に1だけ移動いどうします。

上へ移動いどう

    • 説明せつめい
    • 上方向へ移動いどうします。ただし上がわかべがない場合のみ移動いどうします。

    • コードの詳細しょうさい
    • Playerが上端じょうたんにいなければ(y座標ざひょう上端じょうたんなら) たて方向を実行して上に2だけ移動いどうします。

      ただしy座標ざひょう上端じょうたん-1である場合は上に1だけ移動いどうします。

下へ移動いどう

    • 説明せつめい
    • 下方向へ移動いどうします。ただし下がわかべがない場合のみ移動いどうします。

    • コードの詳細しょうさい
    • Playerが下端かたんにいなければ(y座標ざひょう下端かたんなら) たて方向を実行して下に2だけ移動いどうします。

      ただしy座標ざひょう下端かたん+1である場合は下に1だけ移動いどうします。

横移動よこいどう

    • 説明せつめい
    • 横方向の道の中央から上下にそれぞれ一定のはば(9)の中に Playerのy座標ざひょうがある場合のみ横の方向へ移動いどうします。

      横の方向へ移動いどうするさいには、Playerのy座標ざひょう をずらして横方向の道の中央へ合わせます

      (y座標ざひょうが横方向へ移動いどうできる範囲はんいにあるかどうかの判定はんていと横方向の道の中央へ合わせるために y座標ざひょうをずらすりょうの計算は通過判定つうかはんていでおこないます)。

      移動量いどうりょうが+のあたいであれば右へ、-のあたいであれば左へ移動いどうします。

    • コードの詳細しょうさい
    • y座標ざひょうに対して 通過判定つうかはんていを実行します。

      横方向の道の中心からの y座標ざひょうのズレが通れるはばにおさまっていない場合は 座標ざひょうをずらすりょうに( 通れるはばの半分 (9)+1)が入ってくるので、その場合は次の処理しょり(横への移動いどう)へ進まずにスクリプトを終了します。

      ズレが通れるはばにおさまっている場合は以降いこう処理しょりを実行します。

      Playerのy座標ざひょう座標ざひょうをずらすりょうだけえて、横方向の道の中央に合わせます。

      x座標ざひょう移動量いどうりょうの分だけえて横に移動いどうさせます。

      x座標ざひょうを渡して 歩く演出えんしゅつを実行します。

縦移動たていどう

    • 説明せつめい
    • たて方向の道の中央から左右にそれぞれ一定のはば(9)の中にPlayerのx座標ざひょうがある場合のみたての方向へ移動いどうします。

      たて方向へ移動いどうするさいには、Playerの x座標ざひょうをずらしてたて方向の道の中央へ合わせます

      (x座標ざひょうたて方向へ移動いどうできる範囲はんいにあるかどうかの判定はんていたて方向の道の中央へ合わせるために x座標ざひょうをずらすりょうの計算は 通過判定つうかはんていでおこないます)。

      移動量いどうりょうが+のあたいであれば上へ、-のあたいであれば下へ移動いどうします。

    • コードの詳細しょうさい
    • x座標ざひょうに対して通過判定つうかはんていを実行します。

      たて方向の道の中心からのx座標ざひょうのズレが通れるはばにおさまっていない場合は 座標ざひょうをずらすりょうに( 通れるはばの半分(9)+1)が入ってくるので、 その場合は次の処理しょりたてへの移動いどう)へ進まずにスクリプトを終了します。

      ズレが通れるはばにおさまっている場合は以降いこう処理しょりを実行します。

      Playerのx座標ざひょう座標ざひょうをずらすりょうだけえて、たて方向の道の中央に合わせます。

      y座標ざひょう移動量いどうりょうの分だけえてたて移動いどうさせます。

      y座標ざひょうを渡して 歩く演出えんしゅつを実行します。

通過判定つうかはんてい

    • 説明せつめい
    • 進行方向の道の中央からのPlayerの位置いちのズレが通れるはばの半分(9)の 中にある場合のみ進行方向への移動可いどうか判定はんていします。

      また進行方向へ移動いどうするさいには、 Playerの位置いちをずらして進行方向の道の中央へ合わせます。そのずらすりょう座標ざひょうをずらすりょう)もこのスクリプト内で計算します。

      進行方向の道の中央からのPlayerの位置いちのズレが大きく、 通過つうかできないと判定はんていした場合は 座標ざひょうをずらすりょう通れるはばの半分(9)+1としておきます。

    • コードの詳細しょうさい
    • 座標ざひょう道の中心の間隔かんかく(64)で ったあまを計算します。

      進行方向の道の中央からのズレの大きさを計算しています。

      ったあまの大きさに応じて以下いかのA、B、Cのいずれかを実行します。

    • A :

      ったあま通れるはばの半分(9)以下いかである場合
      (進行方向の道の中央に対するPlayerのプラス方向へのズレが 通れるはばの半分(9)以下いかである場合)
      ったあま座標ざひょうをずらすりょうにします
      座標ざひょうをマイナス方向に ったあま分だけずらします)。

    • B :

      道の中心の間隔かんかく(64)- ったあま)が 通れるはばの半分(9)以下いかである場合
      (進行方向の道の中央に対するPlayerのマイナス方向へのズレが 通れるはばの半分(9)以下いかである場合)
      道の中心の間隔かんかく(64)- ったあま)を 座標ざひょうをずらすりょうにします
      座標ざひょうをプラス方向に(道の中心の間隔かんかく(64)- ったあま)だけずらします)。

    • C :

      それ以外の場合
      (進行方向の道の中央とPlayerの中心との距離きょり通れるはばの半分より大きい場合)
      座標ざひょうをずらすりょうを( 通れるはばの半分(9)+1)にしておきます
      (こうしておくことで次の処理しょり(横への移動いどう)へ進まずにスクリプトを終了するようにします)。

通過判定つうかはんてい具体的ぐたいてきれい

    • 説明せつめい
    • Playerのy座標ざひょう=137
      通れるはば=18
      通れるはばの半分=9
      ったあま=9となります。
      (Playerのy座標ざひょう(137)÷ 道の中心の間隔かんかく(64)=2 あまり 9) ったあま(9)は 通れるはばの半分(9)以下いかです。
      その場合は座標ざひょうをずらすりょう =-ったあま=-9にします。
      Playerのy座標ざひょう(137)に 座標ざひょうをずらすりょう(-9)を足すと 128となり、道の中央のy座標ざひょうと同じ位置いちとなります。

    • 説明せつめい
    • Playerのy座標ざひょう=119
      通れるはば=18
      通れるはばの半分=9
      ったあま=55となります。
      (Playerのy座標ざひょう(119)÷ 道の中心の間隔かんかく(64)=1 あまり 55) (道の中心の間隔かんかく(64)- ったあま(55))は 通れるはばの半分(9)以下いかです。
      その場合は座標ざひょうをずらすりょう道の中心の間隔かんかく(64)- ったあま(55))=9にします。
      Playerのy座標ざひょう(119)に 座標ざひょうをずらすりょう(9)を足すと128となり、道の中央のy座標ざひょうと同じ位置いちとなります。

    • 説明せつめい
    • Playerのy座標ざひょう=140
      通れるはば=18
      通れるはばの半分=9
      ったあま=12となります。
      (Playerのy座標ざひょう (140)÷道の中心の間隔かんかく(64)=2 あまり 12) ったあま(12)は 通れるはばの半分(9)より大きいので左に移動いどうすることはできません。
      その場合は座標ざひょうをずらすりょう通れるはばの半分(9)+1=10にしておきます。

歩く演出えんしゅつ

    • 説明せつめい
    • 進行方向の座標ざひょうが10の倍数の時に コスチュームを変更へんこうすることで歩いているように見せます。

    • コードの詳細しょうさい
    • 座標ざひょうを10で ったあまりが0である場合、コスチュームの 歩く1歩く2を入れえます。

ペンギン

主なうご

  • ゲーム開始時に7本あるたての道のうち、 Playerがいる中央の道以外の6本の道に1体ずつ合計6体を出現しゅつげんさせます。 それ以降いこうは35個ある交差点こうさてんのいずれかに10秒に1体ずつ出現しゅつげんさせます
    (それぞれクローンを作ります)。
  • ペンギンを出現しゅつげんさせるさいには先にけむり表示ひょうじし、その後にペンギンを表示ひょうじします。
  • 出現しゅつげんした後は上下左右のいずれかに移動いどうを開始し、交差点こうさてんを通るたびに直線(50%)、 右折うせつ(25%)、左折させつ(25%)のいずれかを選択せんたくして移動いどうします。
    前方や左右にかべがあって進めない場合はそれ以外の道へ進みます。
    もし3方向がふさがっていたら反転してぎゃく方向に進むようにします
    (現在の仕組みでは3方向ともかべとなることはありませんが、ねんのためそのようなうごきとしています)。
  • 前方に爆弾ばくだんがある場合は反転してぎゃく方向に進むようにします。
  • ほのおれたら消滅しょうめつし、スコアが1加算かさんされます。

がクリックされたとき

  • 非表示ひひょうじにします。

「Start」を受け取ったとき

  • 下記の説明の開始時に配置途中で出現を実行させます。

開始時に配置はいち

    • 説明せつめい
    • 7本あるたての道のうちPlayerがいる中央の道以外の6本の道に1体ずつペンギンを出現しゅつげんさせます。

      たての道にはそれぞれ5つの交差点こうさてんがあり、そのうちの1つにランダムで出現しゅつげんさせます。

    • コードの詳細しょうさい
    • 垂直すいちょく位置いちを0にします。

      水平位置いちを1にします。

      Aの処理しょりを3回くり返して複数ふくすう箇所かしょにペンギンを配置はいちします。

    • A :

      垂直すいちょく位置いちを-2から2までのいずれかにして、 クローンをつくるを実行します。
      これは中央の道の一本右となりたての道にある5つの交差点こうさてんのうちのいずれか1ヵ所にペンギンを出現しゅつげんさせます。 0.1秒待ちます。
      水平位置いちに-1をかけます。
      垂直すいちょく位置いちを-2から2までのいずれかにして、 クローンをつくるを実行します。
      これは中央の道の一本左となりたての道にある5つの交差点こうさてんのうちのいずれか1ヵ所にペンギンを出現しゅつげんさせます。 0.1秒待ちます。
      水平位置いちに-1をかけてマイナスからプラスへもどします。
      水平位置いちに1を足して1本外がわの道へうつります。

開始時のループ内でつくられるペンギンの出現位置しゅつげんいち

  • 対応たいおうする番号のいずれか1ヵ所に出現しゅつげんさせます。

途中とちゅう出現しゅつげん

    • 説明せつめい
    • 35個ある交差点こうさてんのいずれかに10秒に1体ずつペンギンを出現しゅつげんさせます。

    • コードの詳細しょうさい
    • Aの処理しょりをGAME OVERになるまでくり返します。

    • A :

      10秒待ちます。
      垂直すいちょく位置いちを-2から2までのいずれかにします。
      水平位置いちを-3から3までのいずれかにします。
      クローンをつくるを実行します。

クローンをつくる

    • 説明せつめい
    • 水平位置いち垂直すいちょく位置いちで示す場所にけむりを約3びょう表示ひょうじしてからペンギンを出現しゅつげんさせます。

      水平位置いち垂直すいちょく位置いちあたいけむりX、けむりYにコピーしてスプライトけむりへ渡します。

    • コードの詳細しょうさい
    • けむりXを水平位置いちにします。
      けむりY垂直すいちょく位置いちにします。
      けむりのクローンを作ります。
      自分自身のクローンを作ります。

クローンされたとき

    • 説明せつめい
    • 開始時に配置はいち途中とちゅう出現しゅつげんで指定された 水平位置いち垂直すいちょく位置いちをもとに実際じっさいx座標ざひょうy座標ざひょう設定せっていして表示ひょうじします。

      表示ひょうじした後は移動いどうし続けます。

      交差点こうさてんを通るたびにランダムで直進、右折うせつ左折させつをします。

    • コードの詳細しょうさい
    • x座標ざひょう水平位置いち× 道の中心の間隔かんかく(64)にします。

      y座標ざひょう垂直すいちょく位置いち× 道の中心の間隔かんかく(64)にします。

      コスチュームをにします。

      けむり表示ひょうじする時間として3秒待ってから表示ひょうじします。

      表示ひょうじ後は可能かのう方向更新こうしん移動いどうをくり返します。

  • 水平位置いち垂直すいちょく位置いちx座標ざひょうy座標ざひょうの関係

可能かのう方向更新こうしん

    • 説明せつめい
    • 現在の向きと座標ざひょうから直進、右折うせつ左折させつのそれぞれの可否かひ判定はんていします。

    • コードの詳細しょうさい
    • 直進可右折うせつ左折させつをそれぞれ1にリセットします。

      上下左右いずれのはしでもない場合は3つとも1のまま(直進、右折うせつ左折させつすべて可能かのう)となります。

      可能かのう方向更新こうしん-右端みぎはし 可能かのう方向更新こうしん-左端ひだりはし可能かのう方向更新こうしん-上端じょうたん可能かのう方向更新こうしん-下端かたん を実行し、直線、右折うせつ左折させつのうち実行できないものは0にします。

      たとえば上端じょうたんで上を向いている場合はかべがあって直進できないので 直進可を0にします。 下端かたんで左を向いている場合はペンギンから見て左にかべがあるので 左折させつを0にします。

可能かのう方向更新こうしん-右端みぎはし

    • 説明せつめい
    • ペンギンが右端みぎはしにいる場合の判定処理はんていしょりです。
      向きによって実行できない進み方を0にします。

    • コードの詳細しょうさい
    • ペンギンが右端みぎはしにいる場合のみ判定はんていを実行します。
      右を向いている場合は正面にかべがあり直進できないので 直進可を0にします。

    • 上を向いている場合は右がわかべがあり右折うせつできないので 右折うせつを0にします。
    • 下を向いている場合は左がわかべがあり左折させつできないので 左折させつを0にします。
    • 左を向いている場合は影響えいきょうがないので何もしません。

可能かのう方向更新こうしん-左端ひだりはし

    • 説明せつめい
    • ペンギンが左端ひだりはしにいる場合の判定処理はんていしょりです。
      向きによって実行できない進み方を0にします。

    • コードの詳細しょうさい
    • ペンギンが左端ひだりはしにいる場合のみ判定はんていを実行します。
      左を向いている場合は正面にかべがあり直進できないので 直進可を0にします。

    • 上を向いている場合は左がわかべがあり左折させつできないので 左折させつを0にします。
    • 下を向いている場合は右がわかべがあり右折うせつできないので 右折うせつを0にします。
    • 右を向いている場合は影響えいきょうがないので何もしません。

可能かのう方向更新こうしん-上端じょうたん

    • 説明せつめい
    • ペンギンが上端じょうたんにいる場合の判定処理はんていしょりです。
      向きによって実行できない進み方を0にします。

    • コードの詳細しょうさい
    • ペンギンが上端じょうたんにいる場合のみ判定はんていを実行します。
      上を向いている場合は正面にかべがあり直進できないので 直進可を0にします。


    • 右を向いている場合は左がわかべがあり左折させつできないので 左折させつを0にします。
    • 左を向いている場合は右がわかべがあり右折うせつできないので 右折うせつを0にします。
    • 下を向いている場合は影響えいきょうがないので何もしません。

可能かのう方向更新こうしん-下端かたん

    • 説明せつめい
    • ペンギンが下端かたんにいる場合の判定処理はんていしょりです。
      向きによって実行できない進み方を0にします。

    • コードの詳細しょうさい
    • ペンギンが下端かたんにいる場合のみ判定はんていを実行します。
      下を向いている場合は正面にかべがあり直進できないので 直進可を0にします。

    • 左を向いている場合は左がわかべがあり左折させつできないので 左折させつを0にします。
    • 右を向いている場合は右がわかべがあり右折うせつできないので 右折うせつを0にします。
    • 上を向いている場合は影響えいきょうがないので何もしません。
  • 上端じょうたん

  • 上端じょうたん


  • 上端じょうたん

  • 左端ひだりはし


  • 端以外はしいがい
  • 右端みぎはし


  • 左下すみ

  • すみ


  • 右下すみ

移動いどう

    • 説明せつめい
    • ペンギンを移動いどうさせます。
      移動後いどうごに上下左右のはしえてしまっている場合ははし座標ざひょうにします。

    • コードの詳細しょうさい
    • 移動中いどうちゅうを実行します。 x座標ざひょう右端みぎはしよりも大きい(右端みぎはしえてしまっている)場合は x座標ざひょうあたい右端みぎはしにします。
      x座標ざひょう左端ひだりはし よりも小さい(左端ひだりはしえてしまっている)場合は x座標ざひょうあたい左端ひだりはしにします。
      y座標ざひょう上端じょうたん よりも大きい(上端じょうたんえてしまっている)場合は y座標ざひょうあたい上端じょうたんにします。
      y座標ざひょう下端かたん よりも小さい(下端かたんえてしまっている)場合は y座標ざひょうあたい下端かたんにします。

移動中いどうちゅう

    • 説明せつめい
    • 交差点こうさてんから次の交差点こうさてんまで移動いどうします。
      移動いどうする方向は直進、右折うせつ左折させつからランダムに選択せんたくします。

    • コードの詳細しょうさい
    • 方向を決めるを実行します。 進んだ回数を0にします。 Aの処理しょりを32回くり返して64歩移動いどうします(交差点こうさてんから次の交差点こうさてんまで移動いどうします)。

    • A :

      2歩うごかします。
      もしほのおれたほのおれたを実行した後に、このクローンを削除さくじょします。
      もし爆弾ばくだんれた爆弾ばくだんれたを実行した後に、このスクリプトを止めます。
      爆弾ばくだんれる前の交差点こうさてんまでもどります)。ほのお爆弾ばくだんのどちらにもれなかった場合は 進んだ回数を1やします。

    • くり返しが完了かんりょうしたら進んだ回数を0にもどします。

方向を決める

    • 説明せつめい
    • 交差点こうさてんで直進、右折うせつ左折させつ、反転のうちのどの方向に進むのかを決めます(基本的きほんてきに反転するケースはなし)。

    • コードの詳細しょうさい
    • 目の前にかべがあって直進が可能かのう直進可=1)ならA、直進不可ふか直進可=0)ならBを実行します。

    • A :

      左右のどちらかに曲がれる場合は50%の確率かくりつで直進し、 50%の確率かくりつ左右を決める を実行して左右のどちらに曲がるのかを決定します。
      左右のどちらにもかべがあって曲がれない場合( 右折うせつ左折させつがどちらも0)は直進します
      (ただしこの判定はんてい交差点こうさてんでおこなう、基本的きほんてきにどちらもかべであるケースはありません)。

    • B :

      左右のどちらかに曲がれる場合は 左右を決めるを実行して左右のどちらに曲がるのかを決定します。
      左右のどちらにもかべがあって曲がれない場合( 右折うせつ左折させつ がどちらも0)は反転します(180度回してぎゃく方向を向きます)
      (ただしこの判定はんてい交差点こうさてんでおこなう、基本的きほんてきにどちらもかべであるケースはありません)。

    • コスチューム更新こうしん を実行してペンギンの見た目の向きを変更へんこうします。

左右を決める

    • 説明せつめい
    • 交差点こうさてん右折うせつ左折させつのどちらをおこなうのかを決めます。

    • コードの詳細しょうさい
    • もし右折うせつ不可ふか右折うせつ=0)なら 向きを左に90度回して左折させつします。

      右折うせつ可(右折うせつ=1である場合はAの処理しょりを実行します。

    • A :

      もし左折させつ不可ふか左折させつ=0)なら 向きを右に90度回して右折うせつします。

      もし左折させつ可能かのう左折させつ=1)なら 同じ確率かくりつで左右のどちらに曲がります(左右どちらかに90度回します)。

交差点こうさてんで進む方向の確率かくりつ

    • 説明せつめい
    • 3方向すべてに移動可いどうか
      まず直進するのか曲がるのかをランダムに決定します。
      直進する確率かくりつを50%、曲がる確率かくりつを50%としています。
      左右に曲がる場合、左折させつする確率かくりつを50%、右折うせつする確率かくりつを50%としています。
      3つのうちのどの方向に進むかの確率かくりつは直進が50%、左折させつが25%、右折うせつが25%となります。

    • 説明せつめい
    • 3つのうちの2つの方向に移動可いどうか
      まず直進するのか曲がるのかをランダムに決定します。
      直進する確率かくりつを50%、曲がる確率かくりつを50%としています。
      左右に曲がる場合、移動いどうできる方向に曲がります。
      2つのうちのどの方向に進むかの確率かくりつは直進が50%、左折させつまたは右折うせつが50%となります。

    • 説明せつめい
    • 3つのうちの1つの方向にのみ移動可いどうか
      移動いどうできる方向に進みます。

ほのおれた

    • 説明せつめい
    • ほのおれたらコスチュームをダメージにした状態じょうたいで2びょう表示ひょうじし、クローンを削除さくじょします。

      この時スコアを加算かさんします。

    • コードの詳細しょうさい
    • コスチュームをダメージにし、 スコアを1やして2秒待ちます。

爆弾ばくだんれた

    • 説明せつめい
    • 爆弾ばくだんれたら反転します。

    • コードの詳細しょうさい
    • 爆弾ばくだんれたら後ろに2歩もどり、向きを180度回してぎゃく方向にします。

      コスチューム更新こうしんを実行してペンギンの見た目の向きを変更へんこうします。

      2歩×進んだ回数だけ移動いどうして交差点こうさてんまで移動いどうします。

      くり返しが完了かんりょうしたら進んだ回数を0にもどします。

コスチューム更新こうしん

    • 説明せつめい
    • 実際じっさいの向きと見た目の向きが合うようにコスチュームを変更へんこうします。

    • コードの詳細しょうさい
    • 向き絶対値ぜったいちが45度より小さい場合(-45度< 向き<45度)はコスチュームを 後ろにします。

      向き絶対値ぜったいちが45度以上で135度より小さい場合 (-135度<向き<-45度または45度< 向き<135度)はコスチュームを にします。

      向き絶対値ぜったいちが135度以上の場合( 向き<-135度または 向き>135度)はコスチュームを にします。

爆弾ばくだん

主なうご

  • スペースキーをすとPlayerと同じ座標ざひょう爆弾ばくだんが1個かれます
    (Playerが爆弾ばくだんのクローンを作ります)。
  • いてから約3秒後に爆発ばくはつします(同じ座標ざひょうほのおのクローンを作ります)。
  • 他の爆弾ばくだん爆発ばくはつによるほのおれるとすぐに爆発ばくはつします。

クローンされたとき

    • 説明せつめい
    • Playerと同じ座標ざひょう表示ひょうじし、ふくらんだりちぢんだりした後に爆発ばくはつします。

      ほのおれたらその時点ですぐに爆発ばくはつします。

    • コードの詳細しょうさい
    • x座標ざひょうPlayerのx座標ざひょうにします。

      y座標ざひょうPlayerのy座標ざひょうにします。

      コスチュームを爆弾ばくだん1にして表示ひょうじします。 0.2秒待ちます。Aの処理しょりを5回くり返します。

    • A :

      ほのおれた爆発ばくはつを実行し、 1秒待ってからクローンを削除さくじょします。
      コスチュームを爆発ばくはつ1爆発ばくはつ2交互こうごに入れえます。

    • くり返しが終わったら爆発ばくはつを 実行し、1秒待ってからクローンを削除さくじょします。

爆発ばくはつ

    • 説明せつめい
    • 爆発ばくはつ音を鳴らし、ほのおのクローンを作ります。

      ほのおのクローンは爆発ばくはつした爆弾ばくだんと同じ座標ざひょう表示ひょうじされます。

    • コードの詳細しょうさい
    • 非表示ひひょうじにします。
      drum bass3の音を鳴らします。
      爆心地ばくしんちXx座標ざひょうにします。
      爆心地ばくしんちYy座標ざひょうにします。

      爆発ばくはつした爆弾ばくだんと同じ座標ざひょうほのおのクローンを表示ひょうじするために 爆心地ばくしんちX爆心地ばくしんちY爆弾ばくだん座標ざひょうをコピーしています。

      ほのおのクローンを作ります。使用中の爆弾ばくだんを1らします。

ほのお

主なうご

  • 爆弾ばくだん爆発ばくはつすると、まずその位置いちほのおが1つ作られ、そこから上下左右の4方向に広がっていきます (爆弾ばくだんが1つ目のほのおのクローンを作り、外に広がっていくほのおのクローンはほのおが作ります)。
  • 爆発ばくはつした場所に作られた1つ目のほのおは上下左右それぞれに向けたほのおのクローンを1つずつ作ります。 作られたほのおは外がわに向かって少し移動いどうし、同じ方向を向いたほのおのクローンを1つ作ります。 新しく作られたほのおも外がわに向かって少し移動いどうし、同じ方向を向いたほのおのクローンを1つ作ります。 これをくり返して各方向にほのおが広がっていきます。
  • かべに当たったらそれ以上は広がりません。

クローンされたとき

    • 説明せつめい
    • まず爆発ばくはつの中心にクローンが作られ、そこから上下左右の向きのほのおのクローンを1つずつ(計4つ)作ります。

      作られたクローンはそれぞれの向きに移動いどうした後に爆発ばくはつの外がわに向かって同じ向きのクローンを1つ作ります。

      その作られたクローンがさらに外がわ移動いどうして1つクローンを作るという処理しょりを 続けていくことでほのお徐々じょじょに外がわに広がっていくようにします。

    • コードの詳細しょうさい
    • 爆発ばくはつの中心に作られたクローン(タイプ=1)であれば 中心のほのおを実行し、 1秒後にこのクローンを削除さくじょします。

      2つ目以降いこうのクローン( タイプが2以上)であれば 2つ目以降いこうほのおを実行し、 0.5秒後にこのクローンを削除さくじょします。

中心のほのお

    • 説明せつめい
    • 爆発ばくはつ直後に爆発ばくはつの中心に作られた最初のほのお処理しょりです。

      上下左右の方向に広がっていく4つのほのおのクローンを作ります。

    • コードの詳細しょうさい
    • x座標ざひょう爆心地ばくしんちXにします。
      y座標ざひょう爆心地ばくしんちYにします。
      爆発ばくはつした爆弾ばくだんと同じ座標ざひょう表示ひょうじします。
      向き上向きにしてクローンを作ります。 (上方向へ広がっていきます。)
      同じように右向き下向き左向きのクローンを作ります。

2つ目以降いこうほのお

    • 説明せつめい
    • 2つ目以降いこうほのお処理しょりです。

      向いている方向に移動いどうした後、同じ向きのクローンを作ります。

      それぞれのクローンが外がわ移動いどうするクローンを1つずつ作っていくことで外がわほのおが広がっていくようにします。

    • コードの詳細しょうさい
    • 上向き下向きのクローンは 縦移動たていどうを実行します。

      右向き左向きのクローンは 横移動よこいどうを実行します。

      2番目(タイプ=2)、 3番目(タイプ=3)の場合はクローンを作ります。

      4番目(タイプ=4)の場合はクローンを作らず、 ほのおの広がりはここまでとします。

縦移動たていどう

    • 説明せつめい
    • ほのおたて方向(上または下)に移動いどうします。

      たて方向の道の中央から左右にそれぞれ一定のはば(9)の中に ほのおのx座標ざひょうがある場合のみたての方向へ移動いどうします。

      たて方向へ移動いどうするさいには、ほのおx座標ざひょう をずらしてたて方向の道の中央へ合わせます

      (x座標ざひょうが横方向へ移動いどうできる範囲はんいにあるかどうかの判定はんていたて方向の 道の中央へ合わせるためにx座標ざひょうをずらすりょうの計算は 通過判定つうかはんていでおこないます)。

    • コードの詳細しょうさい
    • 通過判定つうかはんていを実行します。

      対象たいしょうとしてx座標ざひょうを渡します。 たて方向の道の中心からのx座標ざひょう のズレが通れるはばにおさまっていない場合は 座標ざひょうをずらすりょうに( 通れるはばの半分(9)+1)が入ってくるので、 その場合は次の処理しょりたてへの移動いどう)へ進まずにスクリプトを終了します。

      ズレが通れるはばにおさまっている場合は以降いこう処理しょりを実行します。

      ほのおx座標ざひょう座標ざひょうをずらすりょうだけえて、 たて方向の道の中央に合わせます。

      たて移動いどうする を実行して向いている方向に移動いどうさせます。

たて移動いどうする

    • 説明せつめい
    • ほのおたて方向(上または下)に32(4×8)歩移動いどうさせます。

      途中とちゅうはし到達とうたつした場合はそこで移動いどうを終了します。

    • コードの詳細しょうさい
    • Aの処理しょりを8回くり返します。

    • A :

      はしまでの距離きょりが4より小さく ((はし座標ざひょうy座標ざひょう)の絶対値ぜったいち < 4)、 4歩うごかすとはしえてしまう場合は y座標ざひょうはし座標ざひょうにして移動いどうを終了します。
      はしまでの距離きょりが4以上ある場合は4歩うごかします。
      絶対値ぜったいち比較ひかくすることで上下どちらに移動いどうする場合でも同じように判定はんていできるようにしています。

横移動よこいどう

    • 説明せつめい
    • ほのおを横方向(左または右)に移動いどうします。

      横方向の道の中央から上下にそれぞれ一定のはば(9)の中に ほのおのy座標ざひょうがある場合のみ横の方向へ移動いどうします。

      横方向へ移動いどうするさいには、ほのおy座標ざひょう をずらして横方向の道の中央へ合わせます

      (y座標ざひょうが横方向へ移動いどうできる範囲はんいにあるかどうかの判定はんていと横方向の道の中央へ 合わせるためにy座標ざひょうをずらすりょうの計算は 通過判定つうかはんていでおこないます)。

    • コードの詳細しょうさい
    • 通過判定つうかはんていを実行します。対象たいしょうとして y座標ざひょうを渡します。

      横方向の道の中心からのy座標ざひょう のズレが通れるはばにおさまっていない場合は 座標ざひょうをずらすりょうに (通れるはばの半分(9)+1)が入ってくるので、その場合は次の処理しょり (横への移動いどう)へ進まずにスクリプトを終了します。

      ズレが通れるはばにおさまっている場合は以降いこう処理しょりを実行します。

      ほのおy座標ざひょう座標ざひょうをずらすりょうだけえて、 横方向の道の中央に合わせます。

      横に移動いどうする を実行して向いている方向に移動いどうさせます。

横移動中よこいどうちゅう

    • 説明せつめい
    • ほのおを横方向(左または右)に32(4×8)歩移動いどうさせます。

      途中とちゅうはし到達とうたつした場合はそこで移動いどうを終了します。

    • コードの詳細しょうさい
    • Aの処理しょりを8回くり返します。

    • A :

      はしまでの距離きょりが4より小さく((はし座標ざひょうx座標ざひょう)の絶対値ぜったいち < 4) 、4歩うごかすとはしえてしまう場合はx座標ざひょうはし座標ざひょうにして移動いどうを終了します。

      はしまでの距離きょりが4以上ある場合は4歩うごかします。

      絶対値ぜったいち比較ひかくすることで左右どちらに移動いどうする場合でも同じように判定はんていできるようにしています。

    • タイプ1
    • 爆弾ばくだん爆発ばくはつするさいほのおのクローン(タイプ1)が作られます。
      爆発ばくはつした爆弾ばくだんと同じ位置いち表示ひょうじ
      同じ位置いちほのおのクローン(タイプ2)を4つ作ります。クローンのそれぞれの向きは上下左右にします。

    • タイプ2
    • ほのおのクローン(タイプ1)からほのおのクローン(タイプ2)が4つ作られます。
      作られたらそれぞれの向きに4×8=32だけ移動いどうします。
      同じ位置いちに同じ向きのほのおのクローン(タイプ3)を1つ作ります。

    • タイプ3
    • ほのおのクローン(タイプ2)からほのおのクローン(タイプ3)が1つずつ作られます。
      作られたらそれぞれの向きに4×8=32だけ移動いどうします。
      同じ位置いちに同じ向きのほのおのクローン(タイプ4)を1つ作ります。

    • タイプ4
    • ほのおのクローン(タイプ3)からほのおのクローン(タイプ4)が1つずつ作られます。
      作られたらそれぞれの向きに4×8=32だけ移動いどうします。
      タイプ4はあらたなクローンを作りません。

通過判定つうかはんてい

    • 説明せつめい
    • 進行方向の道の中央からのほのお位置いちのズレが通れるはばの半分(9)の 中にある場合のみ進行方向への移動可いどうか判定はんていします。

      また進行方向へ移動いどうするさいには、ほのお位置いちをずらして進行方向の道の中央へ合わせます。 そのずらすりょう座標ざひょうをずらすりょう)もこのスクリプト内で計算します。

      進行方向の道の中央からのほのお位置いちのズレが大きく、通過つうかできないと判定はんていした場合は 座標ざひょうをずらすりょう通れるはばの半分(9)+1としておきます。

    • コードの詳細しょうさい
    • 座標ざひょう道の中心の間隔かんかく(64)で ったあまを計算します

      (進行方向の道の中央からのズレの大きさを計算しています)。

      ったあまの 大きさに応じて以下いかのA、B、Cのいずれかを実行します。

    • A :

      ったあま通れるはばの半分(9)以下いかである場合 (進行方向の道の中央に対するPlayerのプラス方向へのズレが 通れるはばの半分(9)以下いかである場合)
      ったあま座標ざひょうをずらすりょうにします (座標ざひょうをマイナス方向にったあま分だけずらします)。

    • B :

      道の中心の間隔かんかく(64)- ったあま)が 通れるはばの半分(9)以下いかである場合 (進行方向の道の中央に対するほのおのマイナス方向へのズレが 通れるはばの半分(9)以下いかである場合)
      道の中心の間隔かんかく(64)- ったあま)を 座標ざひょうをずらすりょうにします。 (座標ざひょうをプラス方向に(道の中心の間隔かんかく(64)- ったあま)だけずらします)。

    • C :

      それ以外の場合 (進行方向の道の中央とほのおの中心との距離きょり通れるはばの半分より大きい場合)
      座標ざひょうをずらすりょうを( 通れるはばの半分(9)+1)にしておきます (こうしておくことで次の処理しょり(横への移動いどう)へ進まずにスクリプトを終了するようにします)。

けむり

主なうご

  • ペンギンを出現しゅつげんさせるさいに、予告よこくとしてその位置いちに先にけむりを3秒程びょうほど表示ひょうじします (ペンギンがけむりのクローンを作ります)。
  • 最初はうす表示ひょうじし、徐々じょじょくしていきます。

がクリックされたとき

  • 非表示ひひょうじにします。

クローンされたとき

    • 説明せつめい
    • ペンギンが出現しゅつげんする直前に表示ひょうじします。

    • コードの詳細しょうさい
    • ghost効果こうかを50にします。
      x座標ざひょうけむりX× 道の中心の間隔かんかくにします。
      y座標ざひょうけむりY× 道の中心の間隔かんかくにします。
      表示ひょうじします。

      Aの処理しょりを5回くり返した後にこのクローンを削除さくじょします (大きくしたり小さくしたりをくり返しながら徐々じょじょくしています)。

    • A :

      ghost効果こうかを10らします(くします)。
      60%、100%と交互こうごに大きさをえます。

GAME OVER

主なうご

  • からgame overが送られてきたら画面中央がめんちゅうおうの前面に表示ひょうじし、すべてを止める。

がクリックされたとき

  • 非表示ひひょうじにします。
    大きさを50%にします。
    x座標ざひょうを0、 y座標ざひょうを0(画面中央がめんちゅうおう)にします。

GAME OVERを受け取ったら

  • 3秒待ってから前に出して表示ひょうじした後、すべてを止めます。

Start

主なうご

  • がクリックされたらコスチュームをStartにして表示ひょうじする。
  • クリックされたらかくスプライトへStartを送り、 非表示ひひょうじにする(かくスプライト Startを受け取ってゲーム開始)。

緑のはたがクリックされたとき

    • 説明せつめい
    • ゲームスタートの準備じゅんびをする。
    • 必要な処理しょり
    • 座標ざひょう初期化しょきか
      Startの表示ひょうじ
      マウスポインターが上に乗ったとき色をえる
    • コードの詳細しょうさい
    • x座標ざひょう(横の表示ひょうじ位置いち)を0、 y座標ざひょう(たて表示ひょうじ位置いち)を0にします。

      コスチュームをStartにして表示ひょうじします。 (ゲーム終了時は非表示ひひょうじになっているため)

      マウスポインターがこのスプライトにれているときは色をえ、 はなれたら元の色にもどします。

このスプライトがクリックされたとき

    • コードの詳細しょうさい
    • コード「 緑のはたがクリックされたとき」が動作しているので、止めます。

      かくスプライトにStartを送りゲームを開始します。

^