
まだの人がいたら下の記事を参考に作ってみてください。
今回はアイテムをとるだけでなく避けなければいけない敵を追加してみましょう。
あるスプライトに触れてしまうとゲームオーバーになるとするとゲーム性が高まり面白くなりそうですね。
それではやっていきましょう!
ドラゴンのスプライトを追加してみよう
まずは敵キャラであるスプライト、ドラゴンを追加しましょう。
追加するのは『スプライト』エリアの右下にあるボタンで行います。
検索で『dragon』と入力してみましょう。
緑色のドラゴンが表示されるので選択しましょう。
ドラゴンを追加したら少し大きいので大きさを60に変更しましょう。
あと鳥に向かってくるようにしたいので向きを『左右のみ』をクリックして-90に変更します。
ドラゴンの向きが変更できたら選択しているスプライトをバナナに変更しましょう。
変更したら作成済みのプログラムをコピーします。
コピーしたら再びドラゴンを選択してルビータブに貼り付けしましょう。
プログラムがコピーされたら緑のはたをクリックしてみましょう。
あら、ドラゴンが全然動きませんね。
なぜでしょう?
『move(-10)』では右から左に移動しなくなっているためです。
値を10に変更して動かしてみましょう。
ドラゴンがバナナと同じように表示されるようになりましたね。
ドラゴンに触ったら全てを止めるようにしよう
ドラゴンが表示できるようになりましたがドラゴンに触ってスコアが増えるのは変ですね。
ドラゴンに触ってしまったらゲームオーバーにしたいので『if touching?("Toucan")』命令の中の処理を削除しましょう。
削除したら『制御』エリアにある『stop("all")』命令を追加しましょう。
self.when(:flag_clicked) do loop do hide go_to([300, rand(-130..130)]) if rand(1..100) % 2 == 0 show end until x < -250 move(10) if touching?("Toucan") #追加 stop("all") #追加 end #追加 end end end
上記のようにできたら緑のはたをクリックして動かしてみましょう。
ドラゴンに触ると止まるようになりましたね。
今のままだとドラゴンが結構な確率で表示されてしまいますので乱数をわる値を4から8に変更しておきましょう。
これで難易度が少し優しくなるはずです。
ドラゴンの出現率を変えてみよう
ドラゴンの乱数を割る値を変更することで難易度が変更できることがわかりましたね。
これを利用して一定数のスコアを獲得したらドラゴンが表示されやすくなるようにしましょう。
まずはドラゴンのスプライトを選択して変数を作成しましょう。
変数について不安な人は下の記事をみてみましょう!
変数名を『divide』にして(自分がわかりやすい名前で大丈夫です)、このスプライトのみの変数としましょう。
次は分岐を使って以下のようなプログラムを作ってみましょう。
- もしスコアが100点以上なら割る値を4にする
- スコアが100点以上ではないなら割る値を8にする
上記のようなプログラムを作るにはどうすればいいでしょうか?
分岐といえば『if』ですね。
以下のようなプログラムを作ればOKです!
if $score < 100 @divide = 4 else @divide = 8 end
上記のプログラムを『ずっと』ブロックの中に入れましょう。
場所はx座標、y座標を変更している後にします。
確認のため変数の『割る値』を表示状態にして動かしてみましょう。
スコアが100点を超えると割る値が変わるのが確認できましたね。
これで100点になると難易度が上がるというゲーム設定を追加することができました。
鳥が落ちていくようにしてみよう
最後にドラゴンに当たった時にゲームオーバーになった感が弱いので以下のようにしてみましょう!
これは今までやってきたことで可能ですので自分で考えて追加してみてください!
少し難しいですがトライ・アンド・エラーを繰り返しながら楽しんでやってみましょう!