スクラッチプログラミング - ピンポンゲームのつくりかた
ボールをはねかえしてあそぶ、ピンポンゲームのつくりかたをしょうかいします。プログラミングでよくつかわれる「もし〜なら」というブロックと、「らんすう」ブロックをつかえるようになりましょう。
サンプルさくひんであそんでみよう
Scratchでつくった《ピンポンゲーム》であそんでみてください。
画面(がめん)下にある、左右のやじるしをタップ(パソコンではクリック)すると、みどりのパドルをうごかすことができます。ボールをじめんにおとさないように、パドルではねかえしましょう!
今回(こんかい)はピンポンゲームをつくりながら、「もし〜なら」というかんがえかたと、「らんすう」について説明(せつめい)していきます。
1. ボールをずっとバウンドさせよう
»バウンドさせる方法(ほうほう)は、『ボールをバウンドさせよう 』でくわしくしょうかいしています。
- 「Ball (ボール)」のスプライトをえらぶ
- ボールのスタート位置(いち)は、xざひょう0、yざひょう180にする
- ステージの中でバウンドするようにプログラミングする
![ボールをバウンドさせるプログラム ボールをバウンドさせるプログラム](https://www.pyxofy.com/content/images/2021/05/program-to-bounce-the-ball.jpg)
2. コントローラーでパドルをうごかそう
»コントローラーのつくりかたは、『タブレットでもつかえるコントローラーをつくろう』でくわしくしょうかいしています。
左右のコントローラー
- 「Arrow 1(やじるし)」のスプライトをふたつえらぶ
- コントローラーとしてプログラミングする
【左へうごかすためのコントローラー】
![左コントローラーのプログラム 左コントローラーのプログラム](https://www.pyxofy.com/content/images/2021/05/left-arrow-program-1.jpg)
【右へうごかすためのコントローラー】
![右コントローラーのプログラム 右コントローラーのプログラム](https://www.pyxofy.com/content/images/2021/05/right-arrow-program-1.jpg)
パドルをうごかす
- そうさするスプライト、「Paddle (パドル)」をえらぶ
- やじるしのコントローラーがおされたときに、パドルが左右にうごくようにプログラミングする
- うごかしたパドルがステージのはしからはみ出さないように、「もしはしについたら、はねかえる」ブロックをつなげる
【そうさするパドル】
![パドルのプログラム パドルのプログラム](https://www.pyxofy.com/content/images/2021/05/paddle-program.jpg)
3. パドルでボールをはねかえそう
パドルにふれたボールがはねかえるようにプログラミングしましょう。
- ボールのスプライトをえらぶ
![ボールを選んでプログラミングする ボールを選んでプログラミングする](https://www.pyxofy.com/content/images/2021/05/choose-the-ball.jpg)
「もし <パドルにふれた> なら」
ボールがパドルにふれたかどうかをしるために、「もし <> なら」ブロックをつかいます。
- 「もし <> なら」を追加(ついか)する
![もしブロックを追加する もしブロックを追加する](https://www.pyxofy.com/content/images/2021/05/add-if-block.jpg)
- 「(Paddle)にふれた」をくみあわせる
![パドルにふれたブロックをくみあわせる パドルにふれたブロックをくみあわせる](https://www.pyxofy.com/content/images/2021/05/add-touching-paddle-block.jpg)
ボールのむきをかえる
パドルにふれたボールがはねかえるようにするために、ボールの「むき」をかえます。
- 「90どにむける」を追加(ついか)する
![90どにむけるブロックを追加する 90どにむけるブロックを追加する](https://www.pyxofy.com/content/images/2021/05/add-point-to-90-block.jpg)
ボールのむきには、「らんすう」をつかいましょう。ボールがどのむきにはねかえるのか予測(よそく)できなくなるので、ゲームがよりおもしろくなりますよ。
- 「(-45)から(45)までのらんすう」をくみあわせる
![乱数ブロックをくみあわせる 乱数ブロックをくみあわせる](https://www.pyxofy.com/content/images/2021/05/add-random-block.jpg)
「らんすう」ってなんだろう?
らんすうとは、つぎになにがでるかわからない、でたらめなかずのことです。
たとえば、サイコロ。
サイコロは「1から6のらんすう」です。ころがしてサイコロがとまるまで、1から6のあいだで、なにが出るかわかりませんよね。
「-45から45のらんすう」にすると、ボールがパドルにふれるたびに「-45ど」から「45ど」のあいだで、いろいろな方向(ほうこう)にはねかえるようになりますよ。
![スプライトのむきを表す図 スプライトのむきを表す図](https://www.pyxofy.com/content/images/2021/05/direction.jpg)
4. じめんについたらゲームオーバー
パドルではねかえすのに失敗(しっぱい)してボールがじめんにふれたら、ゲームをとめます。
はいけいをせっていする
ボールがじめんにふれたかどうかをわかりやすくするために、はいけいを設定(せってい)しましょう。
- 「Wall1(かべ)」をえらぶ
![壁の背景を選ぶ 壁の背景を選ぶ](https://www.pyxofy.com/content/images/2021/05/choose-backdrop.jpg)
「もし <じめんのいろにふれた> なら」
ボールがじめんにふれたかどうかをしるために、「もし <> なら」ブロックをつかいます。
- 「もし <> なら」を追加(ついか)する
![ふたつめのもしブロックを追加する ふたつめのもしブロックを追加する](https://www.pyxofy.com/content/images/2021/05/add-if-block-again.jpg)
じめんの「いろ」をえらぶ
ボールがじめんにふれたかどうかは、じめんの「いろ」でかくにんします。
- 「()いろにふれた」をくみあわせる
![いろにふれたブロックを組み合わせる いろにふれたブロックを組み合わせる](https://www.pyxofy.com/content/images/2021/05/add-touching-color-block.jpg)
- ブロックの(いろ)のぶぶんをタップ
- スポイトをえらんで、じめんの灰色(はいいろ)のぶぶんをタップ
![スポイトで背景の地面の色を選ぶ スポイトで背景の地面の色を選ぶ](https://www.pyxofy.com/content/images/2021/05/choose-color.jpg)
じめんのいろがえらばれました!
![背景の地面の色が選ばれた 背景の地面の色が選ばれた](https://www.pyxofy.com/content/images/2021/05/touching-color-of-the-ground.jpg)
「すべてをとめる」
ゲームをおわりにするためには、プログラムをとめましょう。つかうのは「すべてをとめる」です。
- 「すべてをとめる」を追加(ついか)する
![すべてをとめるブロックを追加する すべてをとめるブロックを追加する](https://www.pyxofy.com/content/images/2021/05/add-stop-all-block.jpg)
「すべてをとめる」ブロックをつかうと、ステージのうえにあるていしボタンとおなじで、プログラムをとめることができますよ。
5. プログラムかんせい
ピンポンゲームのボールのプログラムができました!
- ボールが「もしパドルにふれたなら」、ボールははねかえります。
- ボールが「もしじめんのいろにふれたなら」、ゲームはとまります。
![ボールの完成プログラム ボールの完成プログラム](https://www.pyxofy.com/content/images/2021/05/ball-program.jpg)
ゲームがむずかしいとかんじたときは、「(5)ほうごかす」の数字(すうじ)をかえてみましょう。かずをへらすほどボールはゆっくりうごきますよ。
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
Pyxofy (著)「きょうからはじめるスクラッチプログラミング入門」
Pyxofy が Scratch の電子書籍を出版しました!Kindle・Apple Books からご購入ください。
まとめ
今回(こんかい)はピンポンゲームをつくりながら、「もし〜なら」というかんがえかたと、「らんすう」について説明(せつめい)しました。
「もし〜なら」というのは、プログラミングするときにかならずしっておきたいかんがえかたです。おぼえておきましょう!
次回(じかい)は、プログラミングでよくつかわれる「変数(へんすう)」についてしょうかいします。変数(へんすう)をつかうと、ゲームの点(てん)をかぞえたりすることができますよ。
最後まで読んでいただき、ありがとうございます。この記事をシェアしてくれると嬉しいです!