初心者のためのゲームプログラミング入門

プログラミングとゲームの杜

初心者のためのプログラミング入門 & ゲームプログラムの作り方入門

子どもでもわかる Scratch 入門

28.インベーダーゲームを作ろう その10

 

[ 27.インベーダーゲームを作ろう その9 ] の続きです。

ブロック定義の使い方を学んで、進攻音を鳴らすようにしました。
非常に長かった「インベーダーゲームを作ろう」も今回で終了です。

 

 

進攻速度を変化させよう

敵の数が減ってきたら、敵の移動を速める仕組みを作ります。

まず、進攻速度を管理する変数を作ります。
変数名を進攻速度にします。

進攻速度を管理する変数を作る

 

Gobo のプログラムを変更します。
2箇所の追加と、2箇所の変更があります。

撃墜数で進攻速度を早めていく仕組みを作る

進攻速度変数を1で初期化し、この変数で待ち時間を変更します。
変更は2箇所です。(進攻速度) 秒待つに変更します。

敵の撃墜数が 30 よりも多いとき、進攻速度を変更しています。
つまり、敵の数が 20を下回ったら速度がアップするような仕組みです。

(50 - 撃墜数) を 20 で割り、進攻速度変数に格納します。
これで徐々に待ち時間が短くなり、敵の進攻が早くなります。

実際に計算してみると分かり易いですね。

進攻速度の計算例

 

 

敵の弾を増やそう

敵が全滅して復活するたび、敵の弾が増えていく仕組みを作ります。
インベーダーゲームにステージというものはありませんが、ゲームが進むにつれ
難しくなっていく方が面白いですよね。

まず、弾の量を管理する変数を作ります。
変数名は弾の量にします。

弾の数をカウントする変数を作る

 

弾の量は元々どの程度だったのか、Gobo のビーム発射条件を確認します。

ビーム発射条件を確認する

1から100までの乱数が4より小さい時、ビームを発射しています。
これを踏まえて弾の量を変化させます。

 

Gobo のコードを編集します。
まず、変数の初期化をします。

変数、弾の量の初期化を行う

旗が押されたときの下で0に初期化しています。

並べるを受け取ったときの下では4ずつ増やします。
これで、初めて敵が出現するときは4になり、2回目は8、3回目で12
というように増えていきます。

 

最後、ビームの発射条件に変数弾の量をはめ込みます。

ビームの発射条件に変数、弾の量をはめ込む

 

 

敵のコスチュームを変化させよう

いま敵の絵は変化しません。
移動するタイミングで変化させると雰囲気がぐっと変わります。

2枚のコスチュームでやってみましょう。
リミックスした人は次の2つを使います。

2枚のコスチュームで移動のアニメをさせる

2枚目の絵は手をあげているだけです。

 

次にコスチューム番号を管理する変数を作ります。
変数名をコス番号にします。

コスチューム番号を管理する変数を作る

 

Gobo のコードを編集します。

コス番号の初期化と変更を行う

並べるを受け取ったときの下でコス番号を1で初期化します。

移動指示を送るの下でコス番号の切り替えを行ってます。
コス番号が1なら 3-1=2
コス番号が2なら 3-2=1
となり、1と2の間で切り替わるようにしています。

 

もう一つ Gobo のコードを変更します。

コス番号を使ってコスチュームを切り替える

コスチュームの指定に変数をはめ込みます。
これで1と2が交互に設定されます。

 

 

Gobo インベーダーゲームの完成

これでゲームは完成です。
この後は、バグ (不具合)がないかしっかりテストしましょう。

画面が表示されないときはここをクリック

 

 

改造してみよう

これにて「インベーダーゲームを作ろう」は終了です。お疲れ様でした。

この後、このゲームを改造してみることをおすすめします。
プログラムをより深く理解できるようになりますよ。

 

例えば次のような改造はどうでしょうか。

・画面上部を横切るボーナスキャラUFOを出現させる
・自機を残機制にする (保有する自機がなくなったらゲームオーバー)
・ゲームオーバー後、リトライを可能にする
・クラウド変数を使ってハイスコアを記録する

などなど挑戦してみましょう。

 

今回の題材ですが、少し難しかったかなと思ってます。
もし、仕組みを理解できない所があったとしても、気にせず少し簡単にできる
ゲームを作ってみましょう。
始めの内はゲーム作りに慣れることが大切です。