スクラッチで作った潜水艦ゲームを改造しよう

スクラッチで作った潜水艦(せんすいかん)ゲームを改造してみましょう。

オリジナルのゲームで遊んでみよう

まずはオリジナルの潜水艦(せんすいかん)ゲームです。

潜水艦ゲーム

まずタイトル画面が出て、何か適当なキーを押すとゲームがスタートします。

スペースキーを押すと、機雷(きらい)が投下されます。←→キーで船が動きます。

潜水艦(せんすいかん)から発射される魚雷(ぎょらい)を防ぎながら、機雷(きらい)を投下して潜水艦を爆破(ばくは)してください。潜水艦(せんすいかん)を爆破(ばくは)すると得点が増えます。

音を追加しよう

オリジナルのゲームは全く音がしないので、臨場感(りんじょうかん)を出すために音を追加してみましょう。

追加する音は以下のようなものが考えられます。

  • タイトル曲

    タイトルが表示されているときに流れる曲

  • ゲーム曲

    ゲーム中に流れる曲

  • ゲームオーバー曲

    ゲームオーバーのときに流れる曲

  • 潜水艦(せんすいかん)爆破(ばくは)音

    潜水艦(せんすいかん)を爆破(ばくは)したときの効果音

その他にも、機雷(きらい)を投下したときの音、魚雷(ぎょらい)が発射されたときの音、魚雷(ぎょらい)が水上で爆破(ばくは)したときの音、船が沈没(ちんぼつ)するときの音など、いろいろ考えられますが、あまり増やしすぎるとうるさくなってしまうので、自分の好みで追加してみてください。

追加する方法

  • タイトル曲

    「ステージ」の「コード」タブを開き、「タイトル曲演奏中」という変数と「タイトル曲」というイベントを追加します。なお、「タイトル曲演奏中」という変数は表示しないようにします。

    「緑の旗が押されたとき」の直後に「タイトル曲演奏中」を「0」にするを追加します。

    「定義 タイトル画面」の直後に「タイトル曲演奏中」を「1」にするを追加します。

    その直後に、「タイトル曲」を送るを追加します。

    「定義 タイトル画面」の最後の「ゲーム開始を送る」の直前に、「タイトル曲演奏中」を「0」にすると「すべての音を止める」を追加します。

    「タイトル曲を受け取ったとき」を追加し、その直後に、「タイトル曲演奏中=0」まで繰り返すを追加し、その中に「終わるまで◯◯の音を鳴らす」をいれます。◯◯には自分の好きなタイトル曲をえらび、音に追加しておきましょう。(おすすめはMovie 2)

  • ゲーム曲

    「bg」というスプライトの「コード」タブを開き、「ゲーム曲演奏中」という変数を「このスプライトのみ」で作成します。なお、「ゲーム曲演奏中」という変数は表示しないようにします。

    「緑の旗が押されたとき」の直後に「ゲーム曲演奏中」を「0」にするを追加します。

    「ゲーム開始を受け取ったとき」の直後に「ゲーム曲演奏中」を「1」にするを追加します。

    「ゲーム開始を受け取ったとき」の最後に、「ゲーム曲演奏中=0」まで繰り返すを追加し、その中に「終わるまで◯◯の音を鳴らす」をいれます。◯◯には自分の好きなタイトル曲をえらび、音に追加しておきましょう。(おすすめはVideo Game 1)

    「ゲームオーバーを受け取ったとき」を新たに追加し、「ゲーム曲演奏中」を「0」にすると、「すべての音を止める」を追加します。

  • ゲームオーバー曲

    「bg」というスプライトの「コード」タブを開き、「ゲームオーバー曲演奏中」という変数を「このスプライトのみ」で作成します。なお、「ゲームオーバー曲演奏中」という変数は表示しないようにします。

    「緑の旗が押されたとき」の直後に「ゲームオーバー曲演奏中」を「0」にするを追加します。

    ゲーム曲のときに新たに追加した「ゲームオーバーを受け取ったとき」の最後に、「ゲームオーバー曲演奏中」を「1」にするを追加し、「ゲームオーバー曲演奏中=0」まで繰り返すを追加し、その中に「終わるまで◯◯の音を鳴らす」をいれます。◯◯には自分の好きなタイトル曲をえらび、音に追加しておきましょう。(おすすめはMedieval 1)

    もともとあった、「ゲームオーバーを受け取ったとき」の一番最後の「ゲーム終了を送って待つ」の直前に、「ゲームオーバー曲演奏中」を「0」にすると、「すべての音を止める」を追加します。

  • 潜水艦(せんすいかん)の爆破(ばくは)音

    「explosion」のスプライトの「コード」タブを開き、「クローンされたとき」の直後に「◯◯の音を鳴らす」をいれます。◯◯には自分の好きなタイトル曲をえらび、音に追加しておきましょう。(おすすめはRoll Cymbal)

  • その他

    機雷(きらい)を発射したときに音をだしたければ、「bommP」スプライトのコードの「機雷発射を受け取ったとき」の直後に「◯◯の音を鳴らす」をいれます。

    魚雷(ぎょらい)が発射されたときに音をだしたければ、「bombE」スプライトのコードの「クローンされたとき」の直後に「◯◯の音を鳴らす」をいれます。

    魚雷(ぎょらい)が水上で爆破(ばくは)したときに音を出したければ、「bombE」スプライトのコードの「クローンされたとき」の後ろの方にある「コスチュームをexplosionにする」の直後に「◯◯の音を鳴らす」をいれます。

    船が沈没(ちんぼつ)するときに音を出したければ、bombE」スプライトのコードの「クローンされたとき」の後ろの方にある「もしPlayerに触れたなら」の中に「◯◯の音を鳴らす」をいれます。

ハイスコア の表示を行う

ゲームオーバーになって、再度ゲームを開始するとスコアは0に戻ってしまうので、ゲームを再開したときには、ハイスコアを表示しておくようにしましょう。

ゲーム終了時にハイスコアを更新する方法もありますが、通常のゲームはゲーム中にハイスコアより現在のスコアが高くなったら順次ハイスコアが更新されていくのが普通なので、そのように作ります。

  • 「player」のスプライトの「コード」タブ

    「High score」という変数をすべてのスプライト用で作って表示させたままにし、右上に配置します。

    「緑の旗が押されたとき」の直後に「High score」を「0」にするを追加します。

  • 「explosion」のスプライトの「コード」タブ

    クローンされたときの少し後にある「score を 100ずつ変える」の直後に「もし High score < score なら」を追加し、その中に「High score を scoreにする」を追加します。

深い位置にいる潜水艦(せんすいかん)ほどスコアを高くする

現在はどの潜水艦(せんすいかん)を爆破(ばくは)しても、同じ得点(100点)ですが、潜水艦(せんすいかん)の位置によって何段階か得点を変えるようにします。

潜水艦は80(一番高い位置)〜−150(一番低い位置)に発生するので、これを3段階にするには((80ー潜水艦のy座標)➗77)の切り下げ)✕50+50にすると、潜水艦の低さによって、点数が50、100、150の3段階にすることができます。

  • 「explosion」のスプライトの「コード」タブ

    「scoreを100ずつ変える」を「scoreを(((((80 - y座標) / 77)の切り下げ) * 50) + 50)ずつ変える」に書きかえます。

その他の改造例

  • 高速で移動する特殊な潜水艦を時々出す

    この潜水艦を爆破したらボーナス得点が得られる

  • 1発では沈まない耐久力のある大型潜水艦を時々出す

    この潜水艦を爆破したらボーナス得点が得られる

  • 時間が経つにつれ、敵や発射される魚雷の量を多くする

    時間が経つとボーナス得点がもらえる

  • ときどき数隻の潜水艦がまとまって出現する

  • 高速で浮き上がる特殊な魚雷(ぎょらい)を時々出す

  • 機雷(きらい)と魚雷(ぎょらい)が衝突するとお互いに爆発してなくなる