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

Part 1でつくった卓球(たっきゅう)ゲームのプログラムを完成(かんせい)させます。得点(とくてん)をかぞえたり、ボールのはやさをかえたり、スマッシュできるようにして、ゲームをおもしろくしましょう。

スクラッチプログラミング - たっきゅうゲームのつくりかた - Part 2
Photo by Jure Zakotnik / Unsplash

更新日:2023年12月27日

Part 1でやったこと

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

  • 自分(じぶん)のラケットを操作(そうさ)する
  • 相手(あいて)のラケットを自動(じどう)でうごかす
  • ボールをいろいろな方向(ほうこう)へうちかえす
スクラッチプログラミング - たっきゅうゲームのつくりかた - Part 1
コンピューターと対戦(たいせん)する卓球(たっきゅう)ゲームをつくってみましょう。ラケットのプログラムは簡単(かんたん)です。ボールをいろいろな方向(ほうこう)にうごくようにするのが、プログラミングのポイントになります。

Part 2でやること

今回(こんかい)は、つぎの内容(ないよう)を追加(ついか)して、ゲームを完成(かんせい)させますよ。

  • 得点(とくてん)をかぞえる
  • ボールのはやさをかえる
  • スマッシュをうてるようにする

ボールのスプライトを選択(せんたく)してから、プログラミングをはじめましょう!

ボールのスプライトが選択された状態
ボールのスプライトが選択された状態

とくてんをかぞえる

Part 1でつくったプログラムでは、おたがいにずっとボールをうちあうことができました。それではゲームにならないので、ボールをうちかえすのに失敗(しっぱい)したら、点数(てんすう)がはいるようにしましょう。

へんすうをつくろう

得点(とくてん)をかぞえるための変数(へんすう)、「じぶんのとくてん」と「あいてのとくてん」をつくって、初期化(しょきか)しましょう。ステージに得点(とくてん)が表示(ひょうじ)されるように、変数(へんすう)にチェックをいれておいてくださいね。

  • 得点(とくてん)の変数(へんすう)を、さいしょは(0)にしておく
自分の得点を数えるための変数と、相手の得点を数えるための変数
自分の得点を数えるための変数と、相手の得点を数えるための変数

てんすうがはいるのは、どんなとき?

自分(じぶん)に点数(てんすう)がはいるのは、どういうときでしょうか?相手(あいて)のラケットにボールがあたらなかったときですね。相手(あいて)のラケットは「xざひょう:-220」の位置(いち)にあるので、ボールのxざひょうが「-220」よりちいさくなったら、ラケットにあたらなかった、ということになりますよ。

  • もしxざひょうが(-220)よりちいさいなら、ボールをかくして、じぶんのとくてんを(1)ずつかえる
自分が得点する条件
自分が得点する条件

相手(あいて)に得点(とくてん)がはいる条件(じょうけん)も、おなじようにブロックをくみあわせてください。

  • もしxざひょうが(220)よりおおきいなら、ボールをかくして、あいてのとくてんを(1)ずつかえる
相手が得点する条件
相手が得点する条件

とくてんをかぞえるブロックをつくろう

とくてん」というブロックをつくって、得点(とくてん)をかぞえるときの条件(じょうけん)をまとめましょう。

  • ブロック定義(ていぎ)で「とくてん」ブロックをつくる
定義「とくてん」に得点を数える条件をつなげる
定義「とくてん」に得点を数える条件をつなげる

定義(ていぎ)「とくてん」には、このあともブロックを追加(ついか)していきます。どちらかの得点(とくてん)が11てんになるまでゲームをつづけるられるように、定義(ていぎ)していきますよ。

ゲームをつづけよう

得点(とくてん)したあとも、どちらかが11てんになるまでゲームがつづくようにします。メッセージブロックをつかって、ゲームをスタートさせる合図(あいず)をおくりましょう。

  • 得点(とくてん)したあと、ゲームかいしをおくる
「ゲームかいしをおくる」ブロックを2つ追加する
「ゲームかいしをおくる」ブロックを2つ追加する

はたがおされたとき」ではなく、「ゲームかいしをうけとったとき」に、ボールがうごくようにかえてください。得点(とくてん)したあとは、ボールがかくれた状態(じょうたい)ですね。「ひょうじする」ブロックも追加(ついか)しておきましょう。

  • はたがおされたとき、得点(とくてん)を(0)にして、ゲームかいしをおくる
  • ゲームかいしをうけとったとき、ボールを表示(ひょうじ)して、うごかす
点数がはいった後もゲームが続くようにする
点数がはいった後もゲームが続くようにする

ゲームのタイミングをととのえよう

得点(とくてん)したあと、すぐにまたボールがうごきだすと、ゲームをやりにくいですね。得点(とくてん)するときと、ボールをうごかしはじめるまえに、「(1)びょうまつ」ブロックをつかって、ゲームのタイミングをととのえましょう。

  • 「(2)びょうまつ」、「(1)びょうまつ」を追加(ついか)する
「()秒待つ」ブロックを3箇所に追加する
「()秒待つ」ブロックを3箇所に追加する

ゲームをおわりにしよう

どちらかが11てんをとったらプログラムをとめて、ゲームをおわりにします。

  • もしじぶんのとくてんが11、または、あいてのとくてんが11なら、すべてをとめる
どちらかの得点が11になったらプログラムを止める
どちらかの得点が11になったらプログラムを止める

とくてんをかぞえるブロックのかんせい

とくてん」ブロックを定義(ていぎ)することができました!ボールをうごかすプログラムのなかに「とくてん」ブロックを追加(ついか)したら、得点(とくてん) が11になるまで、ゲームがつづくようになりますよ。

  • 「ずっと」のなかに「とくてん」を追加(ついか)する
定義した「とくてん」ブロックを「ずっと」ブロックの一番下に追加する
定義した「とくてん」ブロックを「ずっと」ブロックの一番下に追加する

つぎは、ラケットでうったときにボールのはやさがかわるようにしていきます。ゲーム完成(かんせい)まであとすこし!がんばりましょう!

ボールのはやさをかえる

卓球(たっきゅう)をやっていて、ずっとボールのはやさがおなじなのは、おもしろくないですね。変数(へんすう)乱数(らんすう)をつかえば、どんなはやさのボールがくるかわからなくできますよ。


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

スクラッチプログラミング -「ブロックていぎ」とは?じぶんでつくるブロック
プログラミングにつかうブロックを、あたらしくつくってみましょう。Scratchにはたくさんのブロックが用意(ようい)されていますね。でもそれだけでなく、じぶんでブロックをつくることもできますよ。
Start Here - Scratch (スクラッチ)
Scratch (スクラッチ)記事(きじ)のレベル別一覧です。初級、中級、上級、拡張機能にわけてまとめました。