レッスン 60
スクラッチで自由落下するボールをパンではじくゲームを作る練習問題⌗
上から自由落下するをボールをパンではじくスクラッチのゲームを作ってください。
問題1から問題11まで進めていくと少しずつできあがっていきます。ヒントを見ながら自分で問題をといていきましょう。
どうしてもわからないときは、それぞれの問題のおしまいに「▶ここまでのスクラッチコード見る」がありますので、これをクリックすると答えのスクラッチコードを見ることができます。
じゅんび⌗
ねこのスプライトを消してください。
ボール(Ball)のスプライトをえらんでください。
パン(Bread)のスプライトをえらんでください。
問題1⌗
パンが、やじるしキー(←→)で、左右に動くようにしてください。
ヒント(使う部品)⌗




パンの「コード」に「緑の旗(はた)が押(お)されたとき」を入れます。
右キーがおされたら、x座標(ざひょう)を10ずつかえ、左キーがおされたら、x座標(ざひょう)を-10ずつかえます。
x座標(ざひょう)とy座標(ざひょう)をいっしょに指定するには以下の部品を使います。

やじるしきーではなく、マウスで左右に動くようにしたい場合は、ずっとの中にもし…ならにかわりに「x座標(ざひょう)をマウスのx座標(ざひょう)にする」を入れます。
ここまでのスクラッチコードを見る

問題2⌗
ボールが、上から自由落下するようにしてください。
ボールの「コード」に「緑の旗(はた)が押されたとき」を入れます。
はじめに、大きさを50%に、x座標(ざひょう)を0にし、表示(ひょうじ)するを入れてください。
その後、ボールが下方向に自由落下するようにしてください。
-
自由落下とは、地球の引力によって、物が下に落ちることを言います。
-
下に落ちるにつれてだんだん落下速度が速くなります。
-
落下速度=初速度y(しょそくど)+重力加速度(じゅうりょくかそくど)✕時間
-
地球上での重力加速度(かそくど)は9.8m/s2です。
-
ボールをはなして落下させる場合は、初速度y(しょそくど)は0です。
-
ボールを上に投げた場合は、投げた速度が初速度y(しょそくど)になります。
-
-
自由落下したボールのy座標(ざひょう)は以下のように計算できます。
- y座標(ざひょう)を はじめのボールの高さ+ 重力加速度(じゅうりょくかそくど) ✕ 時間 ✕ 時間 ÷ 2 + 初速度y(しょそくど) ✕ 時間 にする
-
時間は0.2ずつかえてください。
ヒント⌗
-
使う変数(このスプライトのみ、画面に見せない)
-
高さ(はじめの高さは、130)
-
時間(はじめの時間は、0)
-
重力加速度(じゅうりょくかそくど)、ずっと-9.8(下向き)
-
初速度y(はじめは、0)
-
-
新たに使う部品
ここまでのスクラッチコードを見る

問題3⌗
ボール、画面の一番下まで落ちたら、ボールを消して、ゲームが終わるようにしてください。
ボールのy座標(ざひょう)が-175より小さくなったら画面の一番下まで落ちたことにします。
ヒント(新たに使う部品)⌗



ここまでのスクラッチコードを見る

問題4⌗
ボールが、パンに当たったら、はねかえって上の方へ打ち上がるようにしてください。
ヒント⌗
-
速度yという変数を作り(このスプライトのみ、画面に見せない)、「ずっと」の中で毎回速度yをかきかえます。
- 速度y = 初速度(しょそくど)y + (重力加速度(じゅうりょくかそくど) * 時間)
-
パンに当たったら
-
初速度(しょそくど)yを速度yを上向きにした値にする(速度y * -1 にする
-
時間を0にもどす
-
高さをy座標 + 14 にする
-
-
新たに使う部品
ここまでのスクラッチコードを見る

問題5⌗
ボールが、パンに当たったら、音が出るようにしてください。
ヒント(新たな部品)⌗

ここまでのスクラッチコードを見る

問題6⌗
ボールがまっすぐ下ではなく、ななめに落ちるようにしてください。
-
速度xという変数を作り、はじめに1にします。
-
毎回、y座標(ざひょう)だけでなく、x座標もかえるようにします。
-
x座標は速度xずつ変えるようにします。
ヒント(新たな部品)⌗

ここまでのスクラッチコードを見る

問題7⌗
ボールが左右のはしに当たったらはねかえるようにしてください。
- もし「端に触れた」なら、速度xを「速度x * -1」にする
ヒント(新たな部品 )⌗

ここまでのスクラッチコードを見る

問題8⌗
はじめにボールが落ちる方向をななめ右か、ななめ左か、どちらかでたらめにするようにしてください。
速度xを1にすると、ななめ右に、-1にすると、ななめ左になります。
ヒント⌗
-
でたらめにするには「○から○までの乱数」を使います。
-
-1 か 1 にするには、「0から1」までの乱数を2倍して1を引けば作れます。
-
新たな部品
ここまでのスクラッチコードを見る

問題9⌗
少しむずかしくするために、ボールがパンに当たる場所によってはねる方向がかわるようにしてください。
-
もし「breadに触れた」なら
- 速度x を 速度x + ( x座標(ざひょう) - breadのx座標 ) / 5 にする
ここまでのスクラッチコードを見る

問題10⌗
得点(とくてん)という変数(すべてのスプライト用、画面に見せる)を作って、はじめは0にし、ボールがパンに当たったら得点(とくてん)が1ずつふえるようにしてください。
ここまでのスクラッチコードを見る

問題11⌗
背景(はいけい)に「Game Over」という背景(はいけい)をついかし、はじめは今までの背景(はいけい)にし、ゲームが終了したら背景(はいけい)を「Game Over」にかえ、ゲーム終了の音をついかするようにしてください。
ここまでのスクラッチコードを見る
