スクラッチプログラミング - たっきゅうゲームのつくりかた - Part 1
コンピューターと対戦(たいせん)する卓球(たっきゅう)ゲームをつくってみましょう。ラケットのプログラムは簡単(かんたん)です。ボールをいろいろな方向(ほうこう)にうごくようにするのが、プログラミングのポイントになります。
更新日:2023年12月27日
サンプルさくひんであそんでみよう
今回(こんかい) は、ボールをうちあう卓球(たっきゅう)ゲームを紹介(しょうかい)します。
ゲームのあそびかた
- あかいラケットが自分(じぶん)です。
- くろいラケットは自動(じどう)でうごきます。
- ラケットのまんなかにボールをあてるとスマッシュがうてます。
- さきに11てんとったほうがかちです。
ラケットのそうさほうほう
- キーボードあり…上下(じょうげ)のやじるしキーでうごかす
- キーボードなし…ステージをゆびでタッチして上下(じょうげ)にうごかす
(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)
今回(こんかい) の Part 1では、卓球(たっきゅう)のラケットとボールの基本的(きほんてき)なうごきをつくっていきますよ。
- 自分(じぶん)のラケットを操作(そうさ)する
- 相手(あいて)のラケットを自動(じどう)でうごかす
- ボールをいろいろな方向(ほうこう)へうちかえす
次回(じかい)の Part 2では、得点(とくてん)をかぞえたり、ボールのはやさをかえたり、スマッシュできるようにして、ゲームを完成(かんせい)させます。
たっきゅうゲームでつかうスプライト
ではこれから、卓球(たっきゅう)ゲームのつくりかたを説明(せつめい)していきます。プログラミングするスプライトは、つぎの3つです。
- ボール
- くろいラケット…相手(あいて)
- あかいラケット…自分(じぶん)
![プログラミングするスプライトと卓球台の背景 プログラミングするスプライトと卓球台の背景](https://www.pyxofy.com/content/images/2022/06/10-01-scratch-programming-table-tennis-1.png)
あかいラケットをうごかす
自分(じぶん)のあかいラケットを、上下(じょうげ)にうごかせるようにしましょう。ラケットは、よこにはうごかさないので、xざひょうは最初(さいしょ)にきめておきます。やじるしキーで、たて方向(ほうこう)にだけ操作(そうさ)できるようにしますよ。
- やじるしキーで上下(じょうげ)にうごかす
![あかいラケットを上下に操作するプログラム あかいラケットを上下に操作するプログラム](https://www.pyxofy.com/content/images/2022/06/10-02-scratch-programming-table-tennis-1.png)
キーボードのないタブレットなどでもあそべるようにしたいばあいは、 こちらの記事(きじ)を参考(さんこう)にしてください。
くろいラケットをうごかす
相手(あいて)のくろいラケットは、ボールの位置(いち)によって自動的(じどうてき)にうごくようにします。あかいラケットとおなじく、xざひょうはきめておきます。yざひょうだけがボールの位置(いち)へかわるようにましょう。
- 「(0.25)びょうでxざひょうを(-220)に、yざひょうを()にかえる」と「Ballのyざひょう」をくみあわせる
![くろいラケットがボールの位置へ上下に動くプログラム くろいラケットがボールの位置へ上下に動くプログラム](https://www.pyxofy.com/content/images/2022/06/10-03-scratch-programming-table-tennis-1.png)
あいてのつよさをきめよう
座標(ざひょう)をかえる秒数(びょうすう)によって、ゲームのむずかしさがかわります。ここでは、「0.25びょう」にしました。秒数(びょうすう)をおそくすると、ラケットのうごきもおそくなって相手(あいて)がミスしやすくなります。つよい相手(あいて)と対戦(たいせん)したいときは、秒数(びょうすう)をはやくしてみてくださいね。
ボールをうごかす
ボールのプログラミングには、ブロックをたくさんつかっていきます。プログラムの内容(ないよう)はむずかしくはないので、一緒(いっしょ)にがんばっていきましょう!
まずは、ボールのうごきの基本(きほん)です。相手(あいて)のサーブからはじまるようにスタート位置(いち)をきめて、自分(じぶん)のほうへうごかします。ラケットのうしろにかくれないように、「さいぜんめんへいどうする」ブロックをつかいましょう。
- ボールをずっとうごかす
![ボールを動かすプログラム ボールを動かすプログラム](https://www.pyxofy.com/content/images/2022/06/10-04-scratch-programming-table-tennis-1.png)
あかいラケットでボールをうちかえす
自分(じぶん)のほうへうごいてきたボールを、あかいラケットでうちかえします。ラケットをもつ部分(ぶぶん)には反応(はんのう)しないようにして、あかい部分(ぶぶん)だけであたりはんていができるようにしましょう。
- もし、自分(じぶん)のラケットの、あかいろにふれたなら
![当たり判定の条件 当たり判定の条件](https://www.pyxofy.com/content/images/2022/06/10-05-scratch-programming-table-tennis-1.png)
ボールのむきをかえるブロックをつくろう
あかい部分(ぶぶん)にふれたなら、ボールのむきをかえて相手(あいて)のほうへうごくようにします。ここから、むきをかえるためのブロックをたくさんくみあわせていきますよ。わかりやすいように、ブロック定義(ていぎ) でまとめていきましょう。
- 「じぶん」という名前(なまえ)のブロックをつくる
![ブロックを作って定義する ブロックを作って定義する](https://www.pyxofy.com/content/images/2022/06/10-06-scratch-programming-table-tennis-1.png)
ボールのむきをかえる
今回(こんかい)つくっていく卓球(たっきゅう)ゲームでは、この「ボールのむき」がプログラミングのいちばんのポイントになります。
ボールがどの方向(ほうこう)にいくかはわからない、けれど、卓球台(たっきゅうだい)からははみださない、そんなうごきをめざしましょう。つぎの5種類(しゅるい)のブロックをくみあわせていきますよ。
![「もし<>なら」、「yざひょう」、「()<()」、「()どにむける」、「()から()までのらんすう」 「もし<>なら」、「yざひょう」、「()<()」、「()どにむける」、「()から()までのらんすう」](https://www.pyxofy.com/content/images/2022/06/10-07-scratch-programming-table-tennis-1.png)
ボールを「した」へうちかえそう
まずさいしょに、「ボールがうえのほうにきたときに、どの方向(ほうこう)にうちかえすか」をかんがえます。卓球台(たっきゅうだい)からはみださないようにするためには、ボールのむきを左下(ひだりした)のほうにすればいいですね。
- もしyざひょうが(180)よりちいさいなら、(-100)から(-115)までのらんすうどにむける
![左下の方向へ向ける 左下の方向へ向ける](https://www.pyxofy.com/content/images/2022/06/10-08-scratch-programming-table-tennis-1.png)
ボールを「うえ」か「した」へうちかえそう
ではつぎに、まんなかあたりにボールがきたときはどうでしょう。ボールのむきを「(-100)から(-115)までのらんすうど」でうちかえすと、卓球台(たっきゅうだい)のはしから、でていってしまうときがあります。
![ボールが相手へ届かずに卓球台から出てしまう ボールが相手へ届かずに卓球台から出てしまう](https://www.pyxofy.com/content/images/2022/06/10-09-scratch-programming-table-tennis-1.png)
ちゃんとボールが相手(あいて)へとどくように、むきをかえましょう。したのほうだけでなく、うえのほうにもうてるようにしますよ。
これより下は、Pyxofyメンバー限定公開です。メンバーになると読むことができます。登録方法は、『メンバー登録・ログイン方法』をご覧ください。
![](https://www.pyxofy.com/content/images/2024/07/cover-page-320-4.png)
「きょうからはじめるスクラッチプログラミング入門」by Pyxofy
Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。