こんにちは
こちらの記事では少し応用のあるゲームを紹介します。
今回はホッケーゲームを作成していきましょう。ただのホッケーではなく、スピードアップしていくホッケーゲームになります。
作るものを確認
まずは完成品を見てみましょう。緑の旗を押すとボールが動き出します。左側のバーはAキーで上に、Zキーで下に動きます。右側のバーは上キーで上に、下キーで下に動きます。跳ね返すたびにボールが速くなっていきます。
https://scratch.mit.edu/projects/694998680/fullscreen/
それでは、スクラッチの開発画面を開きましょう。
https://scratch.mit.edu/projects/editor/
スプライトと背景
スプライトはBallを1個、Paddleを2個を用意しましょう。もとのねこは削除しましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/スプライト-1.png)
背景はBlue sky 2を追加しましょう。もとの背景は削除しましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/背景1.png)
ゴールラインを作ります。描画ツールで両端に赤い直線を作りましょう。塗りつぶしはなし、枠線を赤色に指定しましょう。
それではプログラムを作っていきましょう。
左右のバーの設定
Puddle、Puddle2の両方とも向きを0度にします。
![](https://programmingkids.net/wp-content/uploads/2023/08/スプライト3.png)
Paddleの設定をします。左側のバーになるように、スタート時の位置を決めます。
![](https://programmingkids.net/wp-content/uploads/2023/08/バー1.png)
Aキーで上に、Zキーで下に動くようにします。Paddleの設定はこれで終わりです。
![](https://programmingkids.net/wp-content/uploads/2023/08/バー2.png)
![](https://programmingkids.net/wp-content/uploads/2023/08/バー3-1.png)
Paddle2も同じように作ります。位置を右側になるようにし、上キーで上に、下キーで下に動くようにします。
![](https://programmingkids.net/wp-content/uploads/2023/08/バー4.png)
![](https://programmingkids.net/wp-content/uploads/2023/08/バー5.png)
![](https://programmingkids.net/wp-content/uploads/2023/08/バー6.png)
ここまでで左右のバーの設定は完了です。次はボールの設定です。
Ballの設定その1 (スタート時の設定~ゴールまでの設定)
Ballの大きさは80に設定しておきましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_20-1.png)
スタート時の位置、向きを設定します。向きは乱数ブロックを使い、右上~右下を向くような角度の範囲にします。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_4-1.png)
スタート時の合図になるように、「…と~秒言う」ブロックを用意して以下のようにします。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_5-1.png)
ここからはBallのスピードについて設定します。一定のスピードではなく、だんだん速くなるようにしたいので、変数ブロックを使います。変数を作るボタンを押して、「ボールの速さ」と名前を付けましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/変数1.png)
![](https://programmingkids.net/wp-content/uploads/2023/08/変数2-1.png)
ボールの速さを10にする、と設定します。スタートと2秒言うブロックの下につけましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/変数3.png)
次はボールがいつまで動くかの設定です。~色に触れたブロックを用意しましょう。色の部分をクリックすると色の指定ができます。スポイトマークを押すとわっかが表示されるので、赤いゴールラインをクリックしましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_1-1.png)
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_2-1.png)
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_3-1.png)
赤いゴールラインに触れるまで動きを繰り返すように、以下のようにブロックを合体させましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_6.1.png)
~まで繰り返すブロックの中に、以下のブロックを追加します。オレンジの丸い「ボールの速さ」は変数の値ブロックです。先程ボールの速さを10にする、と設定したので、今は10歩動くようになっています。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_6.png)
ゴールした後は、ゴールと2秒言って全てを止めるようにします。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_7-1.png)
全体として以下のようになればOKです。
![](https://programmingkids.net/wp-content/uploads/2023/08/全体図1.png)
Ballの設定その2 (ボールがバーに当たったら反射させる設定)
スプライトのPaddle、Paddle2に当たったら跳ね返す設定を作ります。まずは以下のブロックを用意しましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_8-2.png)
跳ね返すという動作を、演算ブロックで表現します。以下のブロックを組み合わせていきます。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_19-4.png)
演算ブロック(かけ算)の中に、向きの値ブロックと2を入れます。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_12-1.png)
これを~度回すブロックと合体させて、もしブロックの中に入れましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_13-1.png)
ここまででも跳ね返るようにはなりますが、何度もやるとバーにボールが食い込んでしまうことがあります。挙動を安定させるため、以下のブロックを付け加えます。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_14-1.png)
跳ね返ったときに音が鳴るようにします。Popの音を追加して以下のようにします。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_15-1.png)
ここまででもホッケーにはなっていますが、「だんだん速くなる」設定をまだ作っていませんね。変数ブロックの「ボールの速さを1ずつ変える」を付け加えます。こうすると跳ね返すたびに、ボールの速さが10、11、12…と1ずつ上昇します。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_16-1.png)
ここまでで、以下のようなブロックのまとまりが出来たと思います。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_17.5.png)
上記のまとまりを複製し、「もしPaddle2に触れたなら」と変更しましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/Screenshot_18-1.png)
これでボールがバーに当たったら反射させる設定が終わりました。しかしこのままでは旗が押された瞬間しか判定しません。ずっとブロックで囲みましょう。全体として以下のようになれば、だんだん速くなるホッケーゲームの完成です。
![](https://programmingkids.net/wp-content/uploads/2023/08/全体図2.png)
補足:音楽の追加
必須ではありませんが、以下のように音楽の設定をすれば、より雰囲気を出すことができます。
![](https://programmingkids.net/wp-content/uploads/2023/08/全体図3.png)
今回はだんだん速くなるホッケーゲームを作りました。変数や跳ね返す仕組みをゲーム作りで活用してみてください。
よりスクラッチを学びたい方は、以下の体験会にいつでもご応募ください!