ゲーム スクラッチ 記事 難易度「★★☆」
こんにちは。
ここでは少し応用のあるゲームを紹介します。
今回は野球ゲームです。ピッチャーがボールを投げてバッターが打つ仕組みを作ります。
作るものを確認
まずは完成品を見てみましょう。
右矢印キーで投げて、左矢印キーで打ち返します。
https://scratch.mit.edu/projects/678425131/fullscreen/
スプライトを追加
まずはスクラッチの画面を開きます。
今回は背景を既にセットしてあります。
https://scratch.mit.edu/projects/681920177/editor/
今回使うスプライトはBatter、Pitcher、Baseballです。この3つを追加しましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/スプライト.png)
それではプログラムを作っていきましょう
バッターの設定
大きさ、コスチューム、位置を設定します。
これで緑の旗を押すと右側の方にバッターが登場します。
![](https://programmingkids.net/wp-content/uploads/2023/08/バッター1.png)
つづいてバットを振る動きをつけます。
これで左矢印キーを押すと次々とコスチュームが変化し、
バッターがスイングするような動きをします。
![](https://programmingkids.net/wp-content/uploads/2023/08/バッター2.png)
ピッチャーの設定
バッター同様、最初は大きさ、コスチューム、位置を設定します。
これで緑の旗を押すと真ん中あたりにピッチャーが登場します。
![](https://programmingkids.net/wp-content/uploads/2023/08/ピッチャー1.png)
つづいてピッチャーの投げる動きを別個で設定します。
1つ目のコスチュームのあと1秒待って、そのあとは0.1秒ごとにコスチュームを変えます。
このようにすると、大きく振りかぶって投げるように見えますね。
ピッチャーの基本設定はここまででOKです。
(※プログラムの一番下に、後ほど付け足しをします)
![](https://programmingkids.net/wp-content/uploads/2023/08/ピッチャー2b.png)
ボールの設定(打ち返される前まで)
まずは最初の大きさ、位置を決めます。
はじめはグローブに隠れている感じにしたいので、隠すブロックをつけます。
![](https://programmingkids.net/wp-content/uploads/2023/08/ボール1.png)
次に動きの設定を別個で作ります。
隠してあったボールを表示させ、グローブから右に向かって動かします。
(表示するの上に、後ほど付け足しをします)
![](https://programmingkids.net/wp-content/uploads/2023/08/ボール4.png)
これでブロックをクリックするとボールが飛んでいきます。
しかしこのままではバッターがスイングしてもボールに当たりません。
この後はバットに当たった後の設定をしていきましょう。
ボールの設定(打ち返された後)
動きを作る前に「もしバッターに触れたら かつ バッターがスイングしていたら」という条件を作ります。
以下のブロックを組み合わせていきます。
![](https://programmingkids.net/wp-content/uploads/2023/08/ボール7.png)
バッターのスイングしている瞬間はコスチューム番号の3にあたります。
「バッターのコスチューム番号が3」としたいので以下のようにします。
![](https://programmingkids.net/wp-content/uploads/2023/08/ボール8.png)
「バッターに触れた」「バッターのコスチューム番号が3」の両方を満たしたいので
「~かつ~」ブロックと組み合わせて以下にします。
![](https://programmingkids.net/wp-content/uploads/2023/08/ボール9.png)
そしてもしブロックと組み合わせます。
これで「もしバッターに触れたら かつ バッターがスイングしていたら」という条件が作れました。
![](https://programmingkids.net/wp-content/uploads/2023/08/ボール6.png)
では、ボールがバッターに打ち返された時の動きを作りましょう。
左に向かって、上下はランダムに飛ばし、最後に隠すので以下にします。
![](https://programmingkids.net/wp-content/uploads/2023/08/ボール12.png)
ここまで組み上げたものを「端に触れたまで繰り返す」ブロックの中に設置します。
![](https://programmingkids.net/wp-content/uploads/2023/08/ボール13.png)
これでボールが飛んできたときに左矢印キーを押すと、バッターがボールを打ち返すことができます。
左矢印キーを押さなければ、ボールはバッターを通過します。
さて、「後ほど付け足しをします」といった部分について、その調整をしていきます。
ピッチャーとボールを連携させるプログラムを付け足します。
ピッチャーの投げ終わりにボールが表れて飛んでいく
ボールの動き出しは旗が押された時やキーが押された時ではなく、
ピッチャーの投げ終わりの瞬間にしたいですね。
このように他のスプライトと動きを連携させたいときは、メッセージブロックを使います。
![](https://programmingkids.net/wp-content/uploads/2023/08/メッセージ.png)
新しいメッセージをクリックして「投げる」と設定します。
「~を送る」、「~を受け取ったときに」 の両方を変えましょう。
![](https://programmingkids.net/wp-content/uploads/2023/08/メッセージ2.5.png)
![](https://programmingkids.net/wp-content/uploads/2023/08/メッセージ4.png)
「投げる を送る」ブロックをピッチャーの動きのブロックの一番下に、
![](https://programmingkids.net/wp-content/uploads/2023/08/メッセージ5aa.png)
「投げる を受け取ったときに」ブロックをボールのブロックの一番上に置きます。
こうすると、「投げる を送る」から「投げる を受け取ったときに」へ
順番に命令が飛んでいくことになります。
![](https://programmingkids.net/wp-content/uploads/2023/08/メッセージ6.png)
では、右矢印キーを押してみましょう。
ピッチャーが腕を振った後にボールが飛んでいきました。
そして左矢印キーを押すと打ち返します。これでゲーム完成です。
おまけ
必須ではありませんが、音の効果をつけるとより臨場感が出ます。
以下がピッチャーの投げる音とバットに当たったときの音を追加したものです。
お好みで音の調整もしてみてください。
![](https://programmingkids.net/wp-content/uploads/2023/08/メッセージ8a.png)
![](https://programmingkids.net/wp-content/uploads/2023/08/メッセージ7.png)
より詳しく学びたい方は、ぜひ体験会へお申し込みください!
![](http://dev2.programmingkids.net/wp-content/uploads/2021/06/blog-single-01.jpg)
![](http://dev2.programmingkids.net/wp-content/uploads/2021/06/blog-single-02.jpg)