スクラッチプログラミング - たっきゅうゲームのつくりかた - Part 1

コンピューターと対戦(たいせん)する卓球(たっきゅう)ゲームをつくってみましょう。ラケットのプログラムは簡単(かんたん)です。ボールをいろいろな方向(ほうこう)にうごくようにするのが、プログラミングのポイントになります。

スクラッチプログラミング - たっきゅうゲームのつくりかた - Part 1

更新日:2023年12月27日

サンプルさくひんであそんでみよう

今回(こんかい) は、ボールをうちあう卓球(たっきゅう)ゲームを紹介(しょうかい)します。

ゲームのあそびかた

  • あかいラケットが自分(じぶん)です。
  • くろいラケットは自動(じどう)でうごきます。
  • ラケットのまんなかにボールをあてるとスマッシュがうてます。
  • さきに11てんとったほうがかちです。

ラケットのそうさほうほう

  • キーボードあり…上下(じょうげ)のやじるしキーでうごかす
  • キーボードなし…ステージをゆびでタッチして上下(じょうげ)にうごかす

(みどりのはたをおして、スタートです。プロジェクトは、ScratchのPyxofyページでもごらんになれます。)

👉
Pyxofy が電子書籍を出版しました!Scratch の基本をまとめた「きょうからはじめるスクラッチプログラミング入門」 詳細はこちら → Pyxofy Books

今回(こんかい) の Part 1では、卓球(たっきゅう)のラケットとボールの基本的(きほんてき)なうごきをつくっていきますよ。

  • 自分(じぶん)のラケットを操作(そうさ)する
  • 相手(あいて)のラケットを自動(じどう)でうごかす
  • ボールをいろいろな方向(ほうこう)へうちかえす

次回(じかい)の Part 2では、得点(とくてん)をかぞえたり、ボールのはやさをかえたり、スマッシュできるようにして、ゲームを完成(かんせい)させます。

たっきゅうゲームでつかうスプライト

ではこれから、卓球(たっきゅう)ゲームのつくりかたを説明(せつめい)していきます。プログラミングするスプライトは、つぎの3つです。

  • ボール
  • くろいラケット…相手(あいて)
  • あかいラケット…自分(じぶん)
プログラミングするスプライトと卓球台の背景
プログラミングするスプライトと卓球台の背景

あかいラケットをうごかす

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

  • やじるしキーで上下(じょうげ)にうごかす
あかいラケットを上下に操作するプログラム
あかいラケットを上下に操作するプログラム

キーボードのないタブレットなどでもあそべるようにしたいばあいは、 こちらの記事(きじ)を参考(さんこう)にしてください。

スクラッチプログラミング - タブレットでもあそべる!タッチスクリーンそうさ
キーボードをつかわなくてもスプライトを操作(そうさ)できるプログラムのつくりかたを紹介(しょうかい)します。画面(がめん)をゆびでさわることで、タブレットでもゲームをたのしむことができるようになりますよ。

くろいラケットをうごかす

相手(あいて)のくろいラケットは、ボールの位置(いち)によって自動的(じどうてき)にうごくようにします。あかいラケットとおなじく、xざひょうはきめておきます。yざひょうだけがボールの位置(いち)へかわるようにましょう。

  • 「(0.25)びょうでxざひょうを(-220)に、yざひょうを()にかえる」と「Ballのyざひょう」をくみあわせる
くろいラケットがボールの位置へ上下に動くプログラム
くろいラケットがボールの位置へ上下に動くプログラム

あいてのつよさをきめよう

座標(ざひょう)をかえる秒数(びょうすう)によって、ゲームのむずかしさがかわります。ここでは、「0.25びょう」にしました。秒数(びょうすう)をおそくすると、ラケットのうごきもおそくなって相手(あいて)がミスしやすくなります。つよい相手(あいて)と対戦(たいせん)したいときは、秒数(びょうすう)をはやくしてみてくださいね。

ボールをうごかす

ボールのプログラミングには、ブロックをたくさんつかっていきます。プログラムの内容(ないよう)はむずかしくはないので、一緒(いっしょ)にがんばっていきましょう!

まずは、ボールのうごきの基本(きほん)です。相手(あいて)のサーブからはじまるようにスタート位置(いち)をきめて、自分(じぶん)のほうへうごかします。ラケットのうしろにかくれないように、「さいぜんめんへいどうする」ブロックをつかいましょう。

  • ボールをずっとうごかす
ボールを動かすプログラム
ボールを動かすプログラム

あかいラケットでボールをうちかえす

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

  • もし、自分(じぶん)のラケットの、あかいろにふれたなら
当たり判定の条件
当たり判定の条件

ボールのむきをかえるブロックをつくろう

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

  • 「じぶん」という名前(なまえ)のブロックをつくる
ブロックを作って定義する
ブロックを作って定義する

ボールのむきをかえる

今回(こんかい)つくっていく卓球(たっきゅう)ゲームでは、この「ボールのむき」がプログラミングのいちばんのポイントになります。

ボールがどの方向(ほうこう)にいくかはわからない、けれど、卓球台(たっきゅうだい)からははみださない、そんなうごきをめざしましょう。つぎの5種類(しゅるい)のブロックをくみあわせていきますよ。

「もし<>なら」、「yざひょう」、「()<()」、「()どにむける」、「()から()までのらんすう」
「もし<>なら」、「yざひょう」、「()<()」、「()どにむける」、「()から()までのらんすう」

ボールを「した」へうちかえそう

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

  • もしyざひょうが(180)よりちいさいなら、(-100)から(-115)までのらんすうどにむける
左下の方向へ向ける
左下の方向へ向ける

ボールを「うえ」か「した」へうちかえそう

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

ボールが相手へ届かずに卓球台から出てしまう
ボールが相手へ届かずに卓球台から出てしまう

ちゃんとボールが相手(あいて)へとどくように、むきをかえましょう。したのほうだけでなく、うえのほうにもうてるようにしますよ。


これより下は、Pyxofyメンバー限定公開です。メンバーになると読むことができます。登録方法は、『メンバー登録・ログイン方法』をご覧ください。

スクラッチプログラミング - ドッジボールゲームのつくりかた - Part 1
ボールをあててあそぶドッジボールゲームをつくってみましょう。矢印(やじるし)キーでプレイヤーを操作(そうさ)して左右(さゆう)にうごかしながら、相手(あいて)にむかってボールをなげるプログラムをつくります。
Start Here - Scratch (スクラッチ)
Scratch (スクラッチ)記事(きじ)のレベル別一覧です。初級、中級、上級、拡張機能にわけてまとめました。

「きょうからはじめるスクラッチプログラミング入門」by Pyxofy

Pyxofy から Scratch の基本をまとめた電子書籍を出版しました。
Apple Books・Kindle でご購入ください。

特設ページはこちら