シューティング


プログラムの 中身 ( なかみ ) を 詳 ( くわ ) しくみてみましょう

ビームを 撃 ( う ) って 敵 ( てき ) を 倒 ( たお ) すゲームのスクリプトについてスプライトごとに 解説 ( かいせつ ) します。

自機 ( じき )

主な 動 ( うご ) き

  • キーボードの左(←)キーと、右(→)キーで、左右に 移動 ( いどう ) する。
  • に当たったら 元気 ( げんき ) を1 減 ( へ ) らし、音を鳴らして 点滅 ( てんめつ ) する。
  • に当たって 元気 ( げんき ) が1になったら コスチュームを (ダメージ)にし、へ 瀕死 ( ひんし ) を送る。
  • に当たって 元気 ( げんき ) が0になったら コスチュームを にし、(ステージ)と へgame overを送る。
  • から 回復 ( かいふく ) が送られてきたら コスチュームを( 正常 ( せいじょう ) )にする。

「Start」を受け取ったとき

    • 説明 ( せつめい )
    • Startを受け取ったとき、 敵 ( てき ) の数が 敵 ( てき ) の列数 × 敵 ( てき ) の行数 に 達 ( たっ ) する のを( 敵 ( てき ) の 配置 ( はいち ) が 完了 ( かんりょう ) するのを)待ってから、 自機 ( じき ) を 操作 ( そうさ ) する 処理 ( しょり ) を開始します。

      右向き 矢印 ( やじるし ) (→)キーが 押 ( お ) されたら右へ、左向き 矢印 ( やじるし ) (←)キーが 押 ( お ) されたら左へ 移動 ( いどう ) します。

      敵 ( てき ) ビームに当たってしまった場合は 元気 ( げんき ) が1つ 減 ( へ ) ります。

    •  
    • 必要な 処理 ( しょり )
    • 1. 変数 ( へんすう ) の 初期化 ( しょきか )
    • 2. 左右 矢印 ( やじるし ) キー(←→)が 押 ( お ) された時の左右への 移動 ( いどう )
    • 3. 敵 ( てき ) ビームに 触 ( ふ ) れてしまった時の 処理 ( しょり )
    •  
    • コードの 詳細 ( しょうさい )
    • 敵 ( てき ) の数 が 敵 ( てき ) の列数× 敵 ( てき ) の行数 に 達 ( たっ ) する ( 敵 ( てき ) の 配置 ( はいち ) が 完了 ( かんりょう ) する)まで待ちます。

      敵 ( てき ) の 配置 ( はいち ) が 完了 ( かんりょう ) したらAの 処理 ( しょり ) をくり返します。

    •  
    • A :

      横に 動 ( うご ) かすを実行します。
      敵 ( てき ) ビームに 触 ( ふ ) れた時に、 無敵状態 ( むてきじょうたい ) でなかったら( 無敵状態 ( むてきじょうたい ) =0なら) 以下 ( いか ) のBの 処理 ( しょり ) をします。
      ( 敵 ( てき ) ビームに 触 ( ふ ) れても、 無敵状態 ( むてきじょうたい ) ( 無敵状態 ( むてきじょうたい ) =0 以外 ( いがい ) )であったら何もしません。)

    •  
    • B :

      元気 ( げんき ) を1 減 ( へ ) らします。
      もし 元気 ( げんき ) が0になってしまったら game overを送り、スクリプトを止めます。
      無敵状態 ( むてきじょうたい ) ( 無敵状態 ( むてきじょうたい ) =1)にし、 敵 ( てき ) ビームに当たってしまってから一定時間は、 さらに 敵 ( てき ) ビームに当たってしまっても 元気 ( げんき ) が 減 ( へ ) らないようにします。
      攻撃 ( こうげき ) を受けたの音を鳴らします。
      攻撃 ( こうげき ) を受けたを送ります。
      敵 ( てき ) ビームに当たってしまった時の 処理 ( しょり ) をこのループ内でおこなうと、 その間は左右のキーで 自機 ( じき ) を 動 ( うご ) かすことができなくなるため、メッセージを送った先でおこなうようにしています。 ( 敵 ( てき ) ビームに当たってしまった時の 処理 ( しょり ) と左右のキーが 押 ( お ) された時の 処理 ( しょり ) が 並行 ( へいこう ) しておこなわれるようにします。)
      もし 元気 ( げんき ) が1になってしまったら 瀕死 ( ひんし ) を送り、コスチュームをダメージにします。

初期化 ( しょきか )

    • 説明 ( せつめい )
    • 各変数 ( かくへんすう ) を 初期化 ( しょきか ) し、 初期状態 ( しょきじょうたい ) にして 表示 ( ひょうじ ) します。

    •  
    • コードの 詳細 ( しょうさい )
    • コスチュームを 正常 ( せいじょう ) にし、 ちょうどよい大きさにするために大きさを18%にしています。

      (コスチュームを 最初 ( さいしょ ) から小さくしておけば大きさを 変更 ( へんこう ) しなくても大丈夫です)

      右 端 ( はし ) を210、左 端 ( はし ) を-210にします。これは左右に 移動 ( いどう ) できる 範囲 ( はんい ) を 設定 ( せってい ) しています。

      x 座標 ( ざひょう ) を左 端 ( はし ) (-210)、 y 座標 ( ざひょう ) を-150にします。

      元気 ( げんき ) を2にします。 ( 敵 ( てき ) の 弾 ( たま ) に当たると1ずつ 減 ( へ ) り、ハートを取ると1ずつ 増 ( ふ ) えます。0になるとゲームオーバーとなります。)

      無敵状態 ( むてきじょうたい ) を0にします。

      動 ( うご ) く速さを6にします。(左右の 矢印 ( やじるし ) キーを 押 ( お ) すと6ずつ 移動 ( いどう ) します。)

      表示 ( ひょうじ ) します。

横に 動 ( うご ) かす

    • 説明 ( せつめい )
    • 左右の 矢印 ( やじるし ) キーで 自機 ( じき ) を横に 動 ( うご ) かすための 処理 ( しょり ) です。

    •  
    • コードの 詳細 ( しょうさい )
    • 右向き 矢印 ( やじるし ) キーが 押 ( お ) されていたら x 座標 ( ざひょう ) を 動 ( うご ) く速さずつ 変 ( か ) えます。(右に 動 ( うご ) く速さずつ 動 ( うご ) かします)

      ただし、 移動後 ( いどうご ) に右 端 ( はし ) を 超 ( こ ) えてしまう 位置 ( いち ) にいる場合はx 座標 ( ざひょう ) を 右 端 ( はし ) にします。

      左向き 矢印 ( やじるし ) キーが 押 ( お ) されていたら x 座標 ( ざひょう ) を- 動 ( うご ) く速さずつ 変 ( か ) えます。(左に 動 ( うご ) く速さずつ 動 ( うご ) かします)

      ただし、 移動後 ( いどうご ) に左 端 ( はし ) を 超 ( こ ) えてしまう 位置 ( いち ) にいる場合はx 座標 ( ざひょう ) を 左 端 ( はし ) にします。

    •  

「攻撃 ( こうげき ) を受けた」を受け取ったとき

    • 説明 ( せつめい )
    • 敵 ( てき ) ビームに当たってしまった時に実行します。

      自機 ( じき ) を 点滅 ( てんめつ ) させ、0.5秒待った後に 無敵状態 ( むてきじょうたい ) を 解除 ( かいじょ ) します。

    •  
    • コードの 詳細 ( しょうさい )
    • 隠 ( かく ) して0.1秒待つ、 表示 ( ひょうじ ) して0.1秒待つをくり返して 点滅 ( てんめつ ) させます。

      0.5秒待った後に 無敵状態 ( むてきじょうたい ) を0にして 無敵状態 ( むてきじょうたい ) を 解除 ( かいじょ ) します。

GAME OVERを受け取ったとき

    • 説明 ( せつめい )
    • 敵 ( てき ) ビームに当たり、 元気 ( げんき ) が0になってしまった時に実行します。

      自機 ( じき ) が 爆発 ( ばくはつ ) しているように見せます。

    •  
    • コードの 詳細 ( しょうさい )
    • 念 ( ねん ) のため 元気 ( げんき ) を0にします。

      コスチュームの 爆発 ( ばくはつ ) 2と 爆発 ( ばくはつ ) 1を0.3秒ごとに 交互 ( こうご ) に 表示 ( ひょうじ ) し続けます。

回復 ( かいふく ) を受け取ったとき

  • ハートをキャッチするとハートから 回復 ( かいふく ) が送られてきます。
    コスチュームを 正常 ( せいじょう ) にします。

自機 ( じき ) のビーム

主な 動 ( うご ) き

  • スペースキーが 押 ( お ) されたら 発射 ( はっしゃ ) する( 自機 ( じき ) がいる 位置 ( いち ) から上に向かって 移動 ( いどう ) する)。
  • やから 撃墜 ( げきつい ) が送られてきたら 隠 ( かく ) す( 非表示 ( ひひょうじ ) にする)。

がクリックされたとき

  • 非表示 ( ひひょうじ ) にし、他のスプライトと重なった 際 ( さい ) に後ろに 表示 ( ひょうじ ) されるように30 層 ( そう ) 下げます。
    (他のどのスプライトよりも下の 層 ( そう ) にあればよいので必ずしも30 層 ( そう ) である 必要 ( ひつよう ) はありません)

スペースキーが 押 ( お ) されたとき

    • 説明 ( せつめい )
    • ビームを 発射 ( はっしゃ ) します。

      自機 ( じき ) と同じ 座標 ( ざひょう ) から 表示 ( ひょうじ ) し、上の 端 ( はし ) に着くまで上方向に10ずつ進みます。

      ( 敵 ( てき ) や 敵 ( てき ) のビームに当たったら 非表示 ( ひひょうじ ) にしますが、その 処理 ( しょり ) は 撃墜 ( げきつい ) を受け取ったときのほうで書きます)

    •  
    • コードの 詳細 ( しょうさい )
    • 元気 ( げんき ) が0の場合は何もせずにスクリプトを止めます。

      x 座標 ( ざひょう ) 、 y 座標 ( ざひょう ) を 自機 ( じき ) と同じ 座標 ( ざひょう ) にします。

      非表示 ( ひひょうじ ) から 表示 ( ひょうじ ) へ 変更 ( へんこう ) します。

      zoopの音を鳴らします。

      端 ( はし ) に 触 ( ふ ) れるまでy 座標 ( ざひょう ) を10ずつ 変 ( か ) える 処理 ( しょり ) をくり返し、上に向かって動いていくようにします。

      端 ( はし ) に 触 ( ふ ) れたら 隠 ( かく ) します。

      以下 ( いか ) のコードはどちらも、同じ 動 ( うご ) きになります。

    •  

撃墜 ( げきつい ) を受け取ったとき

  • 自機 ( じき ) のビームが 敵 ( てき ) に当たった時にこのメッセージが送られてきます。
    隠 ( かく ) してから、このスプライトの他のスクリプトを止めます。
    ( 自機 ( じき ) のビームが 敵 ( てき ) もしくは 敵 ( てき ) のビームに当たると 撃墜 ( げきつい ) が送られてきます)

敵 ( てき )

主な 動 ( うご ) き

  • ゲーム開始時に 敵 ( てき ) の列数 × 敵 ( てき ) の行数(10×5)のクローンを作って 並 ( なら ) べる。
    すべてのクローンを 並 ( なら ) べ終わったら 配置完了 ( はいちかんりょう ) を送る。
  • それぞれのクローンがランダムに 敵 ( てき ) ビームを 発射 ( はっしゃ ) する。
  • 配置 ( はいち ) 完了直後 ( かんりょうちょくご ) は 移動 ( いどう ) せず、6体以上 倒 ( たお ) されたらそれぞれが横方向へ 動 ( うご ) き 始 ( はじ ) める。
    左右のどちらに向かって 動 ( うご ) き出すのかはクローンごとにランダムに決定する。
    端 ( はし ) に着いたらはね返る。
  • 自機 ( じき ) のビームに当たったら音を鳴らし、 コスチュームをダメージにする。
    敵 ( てき ) の数を1 減 ( へ ) らし、スコアを1 増 ( ふ ) やす。
    0.5秒たったらこのクローンを 削除 ( さくじょ ) する。
  • 自機 ( じき ) のビームに当たったら 自機 ( じき ) のビームへ 撃墜 ( げきつい ) を送る。
  • 画面上 ( がめんじょう ) のすべてのクローンがすべてうち落とされ 敵 ( てき ) の数が0になったら、 自分自身に 配置 ( はいち ) 開始を送り、 再度 ( さいど ) 敵 ( てき ) の列数× 敵 ( てき ) の行数(10×4)のクローンを作って 並 ( なら ) べる。

がクリックされたとき

    • 説明 ( せつめい )
    • 各変数 ( かくへんすう ) を 初期化 ( しょきか ) し、 配置 ( はいち ) 開始を送ります。

    •  
    • コードの 詳細 ( しょうさい )
    • 回転方法 ( かいてんほうほう ) を回転しないにします。

      ブロックで指定せずにスプライトのinfo内の回転の 種類 ( しゅるい ) を回転しない にしても同じ 効果 ( こうか ) があります。

      大きさを40%にして 非表示 ( ひひょうじ ) にします。

      横の 間隔 ( かんかく ) ( 各 ( かく ) クローンのx 座標 ( ざひょう ) の 間隔 ( かんかく ) )、 縦 ( たて ) の 間隔 ( かんかく ) ( 各 ( かく ) クローンのy 座標 ( ざひょう ) の 間隔 ( かんかく ) )をそれぞれ30にします。

      敵 ( てき ) の行数を5行、 敵 ( てき ) の列数を10列にします。

      上端 ( じょうたん ) の行のy 座標 ( ざひょう ) を110にします。

      横の 間隔 ( かんかく ) と 敵 ( てき ) の列数から 右 端 ( はし ) の列のx 座標 ( ざひょう ) を計算します。

      左 端 ( はし ) の列のx 座標 ( ざひょう ) を- 右 端 ( はし ) の列のx 座標 ( ざひょう ) にします。

      クローン?をnoにします。

「Start」を受け取ったとき

  • 配置開始を送ります。

配置 ( はいち ) 開始を受け取ったとき

    • 説明 ( せつめい )
    • 50個のクローンを作り、横に10列、 縦 ( たて ) に5行で 並 ( なら ) べます。

      まず左上から10個のクローンを作り、横10列に 配置 ( はいち ) します。

      それを5行分くり返します。

      配置 ( はいち ) が終わったら 配置完了 ( はいちかんりょう ) を送ります。

    •  
    • コードの 詳細 ( しょうさい )
    • 配置 ( はいち ) 開始を クローンが受け取った場合はそのクローンを 削除 ( さくじょ ) します。

      クローンでない場合のみ 以下 ( いか ) の 処理 ( しょり ) を実行します。

      画面 ( がめん ) に 表示 ( ひょうじ ) されている 敵 ( てき ) の数を表す 敵 ( てき ) の数 を 一旦 ( いったん ) 0にします。

      (左 端 ( はし ) の列のx 座標 ( ざひょう ) , 上端 ( じょうたん ) の行のy 座標 ( ざひょう ) )(左上)に自分自身のクローンを作り、 敵 ( てき ) の数を1 増 ( ふ ) やします。

      x 座標 ( ざひょう ) を 横の 間隔 ( かんかく ) だけ 増 ( ふ ) やします。(1列分、右にずれます)

      これを 敵 ( てき ) の列数(10列)分 並 ( なら ) べるまでくり返します。

    •  
    •  
    • これで1行分の 配置 ( はいち ) が 完了 ( かんりょう ) です。

      完了 ( かんりょう ) したらy 座標 ( ざひょう ) を 縦 ( たて ) の 間隔 ( かんかく ) だけ 減 ( へ ) らします。(1行分、下にずれます)

      x 座標 ( ざひょう ) を 左 端 ( はし ) の列のx 座標 ( ざひょう ) にします。 (左 端 ( はし ) の列に 移動 ( いどう ) します)

      同じように 敵 ( てき ) の列数分 並 ( なら ) べて2行目を 配置 ( はいち ) します。

      これを 敵 ( てき ) の行数(5行)分 並 ( なら ) べるまでくり返します。

    •  
    •  
    • すべての 配置 ( はいち ) が 完了 ( かんりょう ) したら 配置完了 ( はいちかんりょう ) を送ります。

    •  

配置完了 ( はいちかんりょう ) を受け取ったとき

    • 説明 ( せつめい )
    • 敵 ( てき ) がすべて 倒 ( たお ) されたら 敵 ( てき ) を 再度 ( さいど ) 配置 ( はいち ) します。

    •  
    • コードの 詳細 ( しょうさい )
    • 配置完了 ( はいちかんりょう ) をクローンが受け取った場合は何もせずにこのスクリプトを止めます。

      (そうしないと存在しているクローンの数だけ 以下 ( いか ) の 処理 ( しょり ) が実行されてしまいます。)

      敵 ( てき ) の数が0 以下 ( いか ) になるまで待ちます。

      (なんらかの理由で0 未満 ( みまん ) になってしまった場合に 備 ( そな ) えて 念 ( ねん ) のため0 未満 ( みまん ) も 判定条件 ( はんていじょうけん ) に 加 ( くわ ) えています)

      敵 ( てき ) の数が0 以下 ( いか ) になったらスプライトの他のスクリプトを止めます。

      1秒待ってからスコア を5 増 ( ふ ) やして 配置 ( はいち ) 開始を送ります。

クローンされたとき

3つの 処理 ( しょり ) を 並行 ( へいこう ) で開始します。

    • 説明 ( せつめい )
    • 自機 ( じき ) のビームに当たった時の 処理 ( しょり ) です。

    •  
    • コードの 詳細 ( しょうさい )
    • クローン? をyesにして自身がクローンであることを 判別 ( はんべつ ) できるようにします。

      コスチュームを通常にして 表示 ( ひょうじ ) します。

      以下 ( いか ) のAの 処理 ( しょり ) をずっとくり返します。

    •  
    • A :

      自機 ( じき ) のビームに 触 ( ふ ) れた ら 以下 ( いか ) のBの 処理 ( しょり ) をします。

    •  
    • B :

      撃墜 ( げきつい ) を送ります。 ( 自機 ( じき ) のビームが受け取り、 非表示 ( ひひょうじ ) になります。)
      popの音を鳴らします。
      コスチュームを ダメージにします。
      0.5秒待ちます。
      敵 ( てき ) の数を1 減 ( へ ) らします。
      スコアを1 増 ( ふ ) やします。
      倒 ( たお ) した 敵 ( てき ) の数を1 増 ( ふ ) やします。
      このクローンを 削除 ( さくじょ ) します。

    • 説明 ( せつめい )
    • ランダムに 敵 ( てき ) ビームを 発射 ( はっしゃ ) します。

      各 ( かく ) クローンで 並行 ( へいこう ) して実行されます。

    •  
    • コードの 詳細 ( しょうさい )
    • 2秒待ってからAの 処理 ( しょり ) をくり返すことで 敵 ( てき ) ビームを 発射 ( はっしゃ ) します。

    •  
    • A :

      1秒~10秒の間 待機 ( たいき ) します。( 乱数 ( らんすう ) を使って決定します)
      1から10までの 乱数 ( らんすう ) を 発生させ1から4だった場合にビームを 発射 ( はっしゃ ) します。( 発射 ( はっしゃ ) する 確率 ( かくりつ ) は40%)
      ビーム 発射処理 ( はっしゃしょり ) を開始したら全クローンで 共用 ( きょうよう ) する 攻撃中 ( こうげきちゅう ) を1にし、1の間は他のクローンはビームを 発射 ( はっしゃ ) しないようにします。
      (他のどのクローンも 攻撃中 ( こうげきちゅう ) でない場合のみビームを 発射 ( はっしゃ ) します。)
      攻撃中 ( こうげきちゅう ) は 敵 ( てき ) ビームの クローンされたときの中で0に 戻 ( もど ) します。
      敵 ( てき ) ビームの 発射 ( はっしゃ ) 位置 ( いち ) となる 敵 ( てき ) X、 敵 ( てき ) Yを 発射 ( はっしゃ ) するクローンの x 座標 ( ざひょう ) 、y 座標 ( ざひょう ) にします。
      敵 ( てき ) X、 敵 ( てき ) Yは 「 敵 ( てき ) ビーム」のスプライトでも使うため、すべてのスプライト用としています。
      敵 ( てき ) ビームのクローンを作ります。

    •  
    • <補足>

      自機 ( じき ) のビームの時には x 座標 ( ざひょう ) ( 自機 ( じき ) )、 y 座標 ( ざひょう ) ( 自機 ( じき ) )を使ってビームの 発射 ( はっしゃ ) 位置 ( いち ) を指定していますが、 自機 ( じき ) はクローンを作らないためその 方法 ( ほうほう ) が使えました。
      敵 ( てき ) ビームの時に x 座標 ( ざひょう ) ( 敵 ( てき ) )、 y 座標 ( ざひょう ) ( 敵 ( てき ) )を使うと、 発射 ( はっしゃ ) した 敵 ( てき ) の 座標 ( ざひょう ) ではなく、クローン元となった 敵 ( てき ) の 座標 ( ざひょう ) から 発射 ( はっしゃ ) されてしまいます。
      そのため 発射 ( はっしゃ ) したクローンの 座標 ( ざひょう ) を 敵 ( てき ) X、 敵 ( てき ) Yに代入して 敵 ( てき ) ビームに渡しています。
      複数 ( ふくすう ) のクローンが同時にビームを 発射 ( はっしゃ ) できないようにしている理由は2つあります。

    •  
    • 理由1 :

      敵 ( てき ) X、 敵 ( てき ) Y は全体で1つのものを 各 ( かく ) クローンで使用するため、同時に使われないようにしています。
      複数 ( ふくすう ) のクローンが同時に使用してしまうと、 発射 ( はっしゃ ) されるべき場所から 発射 ( はっしゃ ) されない 可能性 ( かのうせい ) があります。

    •  
    • 理由2 :

      同時に 発射 ( はっしゃ ) できるようにすると 敵 ( てき ) ビームが多すぎてしまう場合があります。
      ビームを 発射 ( はっしゃ ) する 確率 ( かくりつ ) を下げれば 減 ( へ ) りますが、 そうすると 逆 ( ぎゃく ) にまったく 発射 ( はっしゃ ) されないこともあり、 敵 ( てき ) ビームの 発射 ( はっしゃ ) に 偏 ( かたよ ) りが出てしまいます。
      まんべんなく 発射 ( はっしゃ ) されるようにするために 複数 ( ふくすう ) のクローンが同時に 発射 ( はっしゃ ) をしないようにしています。

    • 説明 ( せつめい )
    • 敵 ( てき ) を6 匹 ( ひき ) 以上 倒 ( たお ) されるまで待ちます。

      ( 敵 ( てき ) の数が( 敵 ( てき ) の列数× 敵 ( てき ) の行数-5)より少なくなるまで待ちます。)

      敵 ( てき ) が6 匹 ( ひき ) 以上 倒 ( たお ) されたらそれぞれが横への 移動 ( いどう ) を開始するようにします。

      左右のどちらの方向へ 移動 ( いどう ) を開始するのかは 各 ( かく ) クローンでランダムに決定します。

      端 ( はし ) に着いたらはね返ります。

    •  

敵 ( てき ) のビーム

向きを180°(下向き)にします。

主な 動 ( うご ) き

  • 敵 ( てき ) が 敵 ( てき ) ビームのクローンを作る。 発射 ( はっしゃ ) した 敵 ( てき ) (クローン)と同じ 座標 ( ざひょう ) から 表示 ( ひょうじ ) し、 下の 端 ( はし ) に 触 ( ふ ) れるまで下方向に進める。
    自機 ( じき ) のビームに 触 ( ふ ) れたら 自機 ( じき ) のビームへ 撃墜 ( げきつい ) を送り、 このクローンを 削除 ( さくじょ ) する。

がクリックされたとき

  • 大きさを20%にして 非表示 ( ひひょうじ ) にします。
    #コスチュームのエディター等であらかじめ小さくしておいても 構 ( かま ) いません。

クローンされたとき( 敵 ( てき ) から 発射 ( はっしゃ ) されたとき)

    • 説明 ( せつめい )
    • 発射 ( はっしゃ ) した 敵 ( てき ) (クローン)と同じ 座標 ( ざひょう ) から 表示 ( ひょうじ ) し、下の 端 ( はし ) に 触 ( ふ ) れるまで下方向に進めます。

      自機 ( じき ) のビームに 触 ( ふ ) れたら 撃墜 ( げきつい ) を送り、このクローンを 削除 ( さくじょ ) します。

    •  
    • コードの 詳細 ( しょうさい )
    • x 座標 ( ざひょう ) 、y 座標 ( ざひょう ) を 発射 ( はっしゃ ) した 敵 ( てき ) と同じ 座標 ( ざひょう ) にします。

      #ここでx 座標 ( ざひょう ) ( 敵 ( てき ) )、 y 座標 ( ざひょう ) ( 敵 ( てき ) )ブロックを使用すると 発射 ( はっしゃ ) した 敵 ( てき ) ではなく、 クローン元となった 敵 ( てき ) の 座標 ( ざひょう ) から 発射 ( はっしゃ ) されてしまうため、 敵 ( てき ) X、 敵 ( てき ) Yを 使用して 発射 ( はっしゃ ) した 敵 ( てき ) の 座標 ( ざひょう ) を受け取っています。

      攻撃中 ( こうげきちゅう ) を0に 戻 ( もど ) します。

      前に出して 表示 ( ひょうじ ) します。

      端 ( はし ) に 触 ( ふ ) れるまで5歩ずつ 動 ( うご ) かします。(下方向に進めます)

      もし 自機 ( じき ) のビームに 触 ( ふ ) れたら 撃墜 ( げきつい ) を送り、 popの音を鳴らし、 コスチュームを 爆発 ( ばくはつ ) にします。 そして0.5秒待ってからクローンを 削除 ( さくじょ ) します。

      端 ( はし ) に 触 ( ふ ) れた場合もクローンを 削除 ( さくじょ ) します。

ハート

主な 動 ( うご ) き

  • 一定時間ごとに自分自身のクローンを作り、そのクローンが上から落ちる。
    落ちる 際 ( さい ) のx 座標 ( ざひょう ) はランダムに決定する。
    元気 ( げんき ) の 値 ( あたい ) が高くなるほどクローンを作る 間隔 ( かんかく ) を長くする。 (ハートを出にくくする)
  • ( 正常 ( せいじょう ) )に 触 ( さわ ) ったら音を鳴らし、 元気 ( げんき ) を1 増 ( ふ ) やしてからこのクローンを 削除 ( さくじょ ) する。
  • ( 正常 ( せいじょう ) )に 触 ( さわ ) ったら 正常 ( せいじょう ) へ 回復 ( かいふく ) を送る。

「Start」を受け取ったとき

    • 説明 ( せつめい )
    • Startを受け取ったとき、 各変数 ( かくへんすう ) を 初期化 ( しょきか ) し、60秒後から定期 的 ( てき ) にクローンを作ります。

      元気 ( げんき ) の 状態 ( じょうたい ) によってハートが 出現 ( しゅつげん ) する 間隔 ( かんかく ) を 変更 ( へんこう ) します。

      ( 元気 ( げんき ) の 値 ( あたい ) が大きいほど 出現 ( しゅつげん ) しにくくします。)

    •  
    • コードの 詳細 ( しょうさい )
    • 60秒待ってからAの 処理 ( しょり ) をずっとくり返します。

    •  
    • A :

      自分自身のクローンを作ります。
      もし 元気 ( げんき ) が1(2 未満 ( みまん ) )なら ハートの 出現間隔 ( しゅつげんかんかく ) を10秒にします。
      元気 ( げんき ) が2(3 未満 ( みまん ) )なら 出現間隔 ( しゅつげんかんかく ) を30秒にします。
      それ 以外 ( いがい ) (3以上)なら 出現間隔 ( しゅつげんかんかく ) を60秒にします。
      ハートの 出現間隔 ( しゅつげんかんかく ) 秒待ってから次のクローンを作ります。

    •  

初期化 ( しょきか )

    • 説明 ( せつめい )
    • 各変数 ( かくへんすう ) を 初期化 ( しょきか ) して 初期状態 ( しょきじょうたい ) にします。

      クローン?をnoにします。

瀕死 ( ひんし ) を受け取ったとき

  • クローン?がnoの場合 (クローン 以外 ( いがい ) が受け取った場合)のみ5秒後にクローンを作ります。
    ( 敵 ( てき ) ビームに当たってしまい 元気 ( げんき ) が 1になったら5秒後にハートを 出現 ( しゅつげん ) させます)。

クローンされたとき

    • 説明 ( せつめい )
    • 画面 ( がめん ) の上の 端 ( はし ) から下の 端 ( はし ) まで進みます。

      x 座標 ( ざひょう ) はランダムに決定します。

      自機 ( じき ) に 触 ( ふ ) れたら 元気 ( げんき ) を1つ 増 ( ふ ) やし、 回復 ( かいふく ) を送ります。

      ( 自機 ( じき ) のコスチュームがダメージだったら 正常 ( せいじょう ) に 戻 ( もど ) します。)

    •  
    • 必要な 処理 ( しょり )
    • 1. 変数 ( へんすう ) の 初期化 ( しょきか )
    • 2. 上の 端 ( はし ) から下の 端 ( はし ) まで5ずつ 移動 ( いどう )
    • 3. 自機 ( じき ) に 触 ( ふ ) れた時の 処理 ( しょり )
    •  
    • コードの 詳細 ( しょうさい )
    • クローン?をyesにして 自身がクローンであることを 判別 ( はんべつ ) できるようにします。

      y 座標 ( ざひょう ) を180にします。

      x 座標 ( ざひょう ) を-210から210のいずれかにします。

      ( 乱数 ( らんすう ) を使ってランダムに決定します)

      前に出して 表示 ( ひょうじ ) します。

      y 座標 ( ざひょう ) が-140より 小さくなるまで 以下 ( いか ) のAの 処理 ( しょり ) をくり返します。

    •  
    • A :

      y 座標 ( ざひょう ) を-5ずつ 変 ( か ) えます。(下方向に 動 ( うご ) かします)
      もし 自機 ( じき ) に 触 ( ふ ) れたら 以下 ( いか ) のBの 処理 ( しょり ) をします。

    •  
    • B :

      popの音を鳴らします。
      ( 自機 ( じき ) の) 元気 ( げんき ) を1 増 ( ふ ) やします。
      キャッチしたハートを1 増 ( ふ ) やします。
      回復 ( かいふく ) を送ります。
      このクローンを 削除 ( さくじょ ) します。

    •  
    • y 座標 ( ざひょう ) が-140より 小さくなりループを 抜 ( ぬ ) けたらコスチュームを star3-bにします。

      落としたハートを1 増 ( ふ ) やします。

      0.5秒待ってからクローンを 削除 ( さくじょ ) します。

ステージ

主な 動 ( うご ) き

  • がクリックされたらプレイ時間を計る タイマーをリセットし、 各変数 ( かくへんすう ) を 初期化 ( しょきか ) する。
  • Startを受け取ったとき dance aroundをくり返し 再生 ( さいせい ) する。
  • 正常 ( せいじょう ) からGAME OVERが送られてきたら GAME OVERの音を鳴らし、 プレイ時間やキャッチしたハートの数、 倒 ( たお ) した 敵 ( てき ) の数などを 画面 ( がめん ) に 表示 ( ひょうじ ) する。

がクリックされたとき

  • プレイ時間を計るタイマーを0にして、 各変数 ( かくへんすう ) を 初期化 ( しょきか ) します。

「Start」を受け取ったとき

  • 音量を30%にする。終わるまでdance aroundを流します。

GAME OVERを受け取ったら

  • GAME OVER の音を鳴らし、プレイ時間や 倒 ( たお ) した 敵 ( てき ) の数などを 画面 ( がめん ) に 表示 ( ひょうじ ) した後にステージの他のスクリプトを止めます。

GAME OVER

主な 動 ( うご ) き

  • から GAME OVERが送られてきたら 画面中央 ( がめんちゅうおう ) の前面に 表示 ( ひょうじ ) する。

がクリックされたとき

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

GAME OVERを受け取ったら

  • 3秒待ってから前に出して 表示 ( ひょうじ ) します。

Start

主な 動 ( うご ) き

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

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

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

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

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

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

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

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

^