スクラッチプログラミング - たっきゅうゲームのつくりかた - Part 1
コンピューターと対戦(たいせん)する卓球(たっきゅう)ゲームをつくってみましょう。ラケットのプログラムは簡単(かんたん)です。ボールをいろいろな方向(ほうこう)にうごくようにするのが、プログラミングのポイントになります。
更新日:2023年12月27日
サンプルさくひんであそんでみよう
今回(こんかい) は、ボールをうちあう卓球(たっきゅう)ゲームを紹介(しょうかい)します。
ゲームのあそびかた
- あかいラケットが自分(じぶん)です。
- くろいラケットは自動(じどう)でうごきます。
- ラケットのまんなかにボールをあてるとスマッシュがうてます。
- さきに11てんとったほうがかちです。
ラケットのそうさほうほう
- キーボードあり…上下(じょうげ)のやじるしキーでうごかす
- キーボードなし…ステージをゆびでタッチして上下(じょうげ)にうごかす
(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)
今回(こんかい) の Part 1では、卓球(たっきゅう)のラケットとボールの基本的(きほんてき)なうごきをつくっていきますよ。
- 自分(じぶん)のラケットを操作(そうさ)する
- 相手(あいて)のラケットを自動(じどう)でうごかす
- ボールをいろいろな方向(ほうこう)へうちかえす
次回(じかい)の Part 2では、得点(とくてん)をかぞえたり、ボールのはやさをかえたり、スマッシュできるようにして、ゲームを完成(かんせい)させます。
たっきゅうゲームでつかうスプライト
ではこれから、卓球(たっきゅう)ゲームのつくりかたを説明(せつめい)していきます。プログラミングするスプライトは、つぎの3つです。
- ボール
- くろいラケット…相手(あいて)
- あかいラケット…自分(じぶん)

あかいラケットをうごかす
自分(じぶん)のあかいラケットを、上下(じょうげ)にうごかせるようにしましょう。ラケットは、よこにはうごかさないので、xざひょうは最初(さいしょ)にきめておきます。やじるしキーで、たて方向(ほうこう)にだけ操作(そうさ)できるようにしますよ。
- やじるしキーで上下(じょうげ)にうごかす

キーボードのないタブレットなどでもあそべるようにしたいばあいは、 こちらの記事(きじ)を参考(さんこう)にしてください。
くろいラケットをうごかす
相手(あいて)のくろいラケットは、ボールの位置(いち)によって自動的(じどうてき)にうごくようにします。あかいラケットとおなじく、xざひょうはきめておきます。yざひょうだけがボールの位置(いち)へかわるようにましょう。
- 「(0.25)びょうでxざひょうを(-220)に、yざひょうを()にかえる」と「Ballのyざひょう」をくみあわせる

あいてのつよさをきめよう
座標(ざひょう)をかえる秒数(びょうすう)によって、ゲームのむずかしさがかわります。ここでは、「0.25びょう」にしました。秒数(びょうすう)をおそくすると、ラケットのうごきもおそくなって相手(あいて)がミスしやすくなります。つよい相手(あいて)と対戦(たいせん)したいときは、秒数(びょうすう)をはやくしてみてくださいね。
ボールをうごかす
ボールのプログラミングには、ブロックをたくさんつかっていきます。プログラムの内容(ないよう)はむずかしくはないので、一緒(いっしょ)にがんばっていきましょう!
まずは、ボールのうごきの基本(きほん)です。相手(あいて)のサーブからはじまるようにスタート位置(いち)をきめて、自分(じぶん)のほうへうごかします。ラケットのうしろにかくれないように、「さいぜんめんへいどうする」ブロックをつかいましょう。
- ボールをずっとうごかす

あかいラケットでボールをうちかえす
自分(じぶん)のほうへうごいてきたボールを、あかいラケットでうちかえします。ラケットをもつ部分(ぶぶん)には反応(はんのう)しないようにして、あかい部分(ぶぶん)だけであたりはんていができるようにしましょう。
- もし、自分(じぶん)のラケットの、あかいろにふれたなら

ボールのむきをかえるブロックをつくろう
あかい部分(ぶぶん)にふれたなら、ボールのむきをかえて相手(あいて)のほうへうごくようにします。ここから、むきをかえるためのブロックをたくさんくみあわせていきますよ。わかりやすいように、ブロック定義(ていぎ) でまとめていきましょう。
- 「じぶん」という名前(なまえ)のブロックをつくる

ボールのむきをかえる
今回(こんかい)つくっていく卓球(たっきゅう)ゲームでは、この「ボールのむき」がプログラミングのいちばんのポイントになります。
ボールがどの方向(ほうこう)にいくかはわからない、けれど、卓球台(たっきゅうだい)からははみださない、そんなうごきをめざしましょう。つぎの5種類(しゅるい)のブロックをくみあわせていきますよ。

ボールを「した」へうちかえそう
まずさいしょに、「ボールがうえのほうにきたときに、どの方向(ほうこう)にうちかえすか」をかんがえます。卓球台(たっきゅうだい)からはみださないようにするためには、ボールのむきを左下(ひだりした)のほうにすればいいですね。
- もしyざひょうが(180)よりちいさいなら、(-100)から(-115)までのらんすうどにむける

ボールを「うえ」か「した」へうちかえそう
ではつぎに、まんなかあたりにボールがきたときはどうでしょう。ボールのむきを「(-100)から(-115)までのらんすうど」でうちかえすと、卓球台(たっきゅうだい)のはしから、でていってしまうときがあります。

ちゃんとボールが相手(あいて)へとどくように、むきをかえましょう。したのほうだけでなく、うえのほうにもうてるようにしますよ。
これより下は、Pyxofyメンバー限定公開です。メンバーになると読むことができます。登録方法は、『メンバー登録・ログイン方法』をご覧ください。

「きょうからはじめるスクラッチプログラミング入門」by Pyxofy
Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。