でんでんジャンプを作ろう 2

 

前回の でんでんジャンプを作ろう のつづきです。

子供向けのプログラミング教育でとても人気のある Scratch(スクラッチ)を知っていますか?
もし未経験なら一度やってみてください。
オブジェクト単位(スプライト単位)でプログラミングしていくオブジェクト指向型の言語なので初めは戸惑うかもしれません。
でも、プログラミングの考え方(組み立て方)を広げてくれます。

 

リンゴを落とそう

一定の間隔でリンゴを発生させます。

ゲーム から ゲームが更新された時500ミリ秒毎 を持ってきます。

ゲームが更新された時500ミリ秒毎を用意する

 

画面の上からリンゴを落としたいので発射体を使います。
下図のブロックを用意します。

発射体のブロックを用意する

 

絵はリンゴを選びます。
真下に落下させるので、速度 vx 0 vy 60 にセットします。
60 という数は作成後に遊びながら決めました。大きい数にすればゲームが難しくなります。

りんごの絵を使いvy60にセット

 

まだ座標を入力していないため、画面の左端にリンゴが落下します。

画面の左端にりんごが落下する

 

変数の名前を変更しましょう。
projectile では何者なのか分かりません。

変数の名前を変更する

 

変数名を apple にします。

変数名をappleにする

 

画面いっぱいにリンゴを降らせたいので x 座標をランダムにします。

スプライト から mySpriteのxを0にする を持ってきます。
変数名を apple に変更します。

appleのxを0にする

 

計算 から ランダムな数字を選択: 0から10まで を持ってきます。

ランダムな数字を選択を持ってくる

 

ランダムな数字を 20 から 140 までに変更します。
画面の幅は 160 です。リンゴが見切れないように左右 20 ほど短くします。

乱数を20から140にする

 

落下間隔を 2000 ミリ秒毎(2秒毎)にします。
この間隔も作成後にテストプレイしながら決めました。

落下間隔を2秒毎にする

実行して画面幅いっぱいにリンゴが落下することを確認しましょう。

 

リンゴとプレイヤーの当たり判定を入れよう

プレイヤーがリンゴを取れるように当たり判定を入れます。
まず、リンゴのタイプを設定します。

スプライト から mySpriteをPlayerタイプにする を持ってきます。

mySpriteをPlayerタイプにするを使う

 

変数名を apple に、タイプを Food に変更します。

appleをFoodタイプにする

 

スプライト から当たり判定(重なり)を持ってきます。
otherSprite のタイプを Food に変更します。
これでプレイヤーと Food(リンゴ)の当たり判定ができます。

当たり判定を使う

 

プレイヤーとリンゴが当たったとき、リンゴを消します。

スプライト から destroy mySprite を持ってきます。
削除対象を otherSprite に変更します。

destroy otherSpriteを入れる

 

ついでに得点も入れます。
情報 から スコアを1変える を追加します。
これでプレイヤーとリンゴが当たったとき、リンゴは消えてスコアに +1 されます。

スコアを1変えるを使う

 

リンゴをコインに変えてみよう

ちょっと新しいことにチャレンジしてみましょう。
プレイヤーがリンゴを取ったとき、リンゴをコインの絵に変えてみます。

スプライト から mySpriteの画像を○にする を持ってきます。

mySpriteの画像を○にするを使う

 

当たり判定の中に入れて otherSprite に変更します。
画像はコインの絵に変更しましょう。

otherSpriteをコインの絵に変更する

 

このままでは絵はすぐに消えてしまいます。
destroy のパラメータを with プルアッププルダウンなしに effect for 300 ms に変更します。
これで演出無しで 300 ミリ秒後(0.3秒後)にコインは消えます。

0.3秒後にコインを消す

 

他のゲームでよく見かける「コインが上に移動して消える」演出を入れます。

スプライト から mySpriteのxを0にする を持ってきます。
otherSpritevy(速度 y)-20 に変更します。

コインを上に移動させる

 

テストしましょう。
リンゴを取ったらコインに変わって上に移動することを確認します。

リンゴを取るとコインに変わる

 

今回、リンゴをコインに変えましたが +100 みたいな表示の方が一般的かもしれませんね。 そのようなときは絵をギャラリーから選ばす、自分で +100 という絵を描けばいいのです。 あ、スコアに加算する数も 100 にする必要があります。

 

ヘビを出現させよう

つぎはヘビを出現させましょう。

ゲーム から ゲームが更新された時500ミリ秒毎 を持ってきます。

ゲームが更新された時を使う

 

リンゴの時と同じように発射体を使います。
絵は下図のヘビを使いました。

ヘビの絵を使う

 

発射体の変数の名前を変更します。

発射体の変数名を変更する

 

変数名を snake にしました。

変数名をsnakeにする

 

ゲームの更新は 2000 ミリ秒毎、 速度 vx -50 vy 0 に変更します。
これで画面の右端から左へ移動します。

速度vx-50vy0に変更する

 

ヘビの出現位置(座標)を決めます。
スプライト から mySpriteのxを0にする を持ってきます。
変数名を snake に変更して Y100 にします。

ヘビのy座標を100にする

 

当たり判定のためタイプを設定します。
スプライト から mySpriteをPlayerタイプにする を持ってきます。
変数名を snake に変更して Enemy タイプにします。

ヘビをenemyタイプにする

 

テストしましょう。右端からヘビが出現するようになりました。

ヘビが右端から出現する

 

ヘビとプレイヤーの当たり判定を入れよう

ヘビとプレイヤーの当たり判定を作ります。

スプライト から当たり判定(重なり)を持ってきます。
otherSprite のタイプを Enemy に変更します。
これでプレイヤーと Enemy(ヘビ)の当たり判定ができます。

プレイヤーとenemyの当たり判定を作る

 

プレイヤーと当たったヘビを消します。
スプライト から destroy mySprite を持ってきます。

destroy mySpriteを使う

 

destroy otherSprite に変更します。

destroy otherSpriteに変更する

 

消え演出を 崩壊 effect for 300 ms に変更します。

消え演出を崩壊にする

 

プレイヤーのライフを1つ減らします。
情報 から ライフを-1変える を追加します。

プレイヤーのライフを1つ減らす

 

テストしましょう。
プレイヤーとヘビが当たったとき、ヘビは崩壊の演出をしながら消えているか
また、ライフが1つ減っているかを確認します。
なお、すべてのライフがなくなるとゲームオーバーになります。

ヘビの消え演出とライフの減りを確認する

 

次回に続きます。

 

MakeCode Arcade

  1. MakeCodeはいかが
  2. りんご狩りゲーム
  3. りんご狩りゲーム(完)
  4. ピザを避けてゲーム
  5. ピザを避けて 2
  6. ピザを避けて(完)
  7. アカウント登録
  8. ケーキ早食いゲーム
  9. ケーキ早食い 2
  10. ケーキ早食い(完)
  11. 危険ドライブ
  12. 危険ドライブ 2
  13. 危険ドライブ(完)
  14. 15秒シューティング
  15. 15秒Shooting 2
  16. 15秒Shooting(完)
  17. ブロック崩し
  18. ブロック崩し 2
  19. ブロック崩し(完)
  20. ヘビキングを撃て
  21. ヘビキング(完)
  22. ちょびっと迷路
  23. ちょびっと迷路 2
  24. ちょびっと迷路(完)
  25. でんでんジャンプ
  26. でんでんJump 2
  27. でんでんJump(完)
  28. ミニダンジョン
  29. ミニダンジョン 2
  30. ミニダンジョン 3
  31. ミニダンジョン 4
  32. ミニダンジョン(完)