スタータープロジェクトカテゴリ

「ポンゲームのスターター」のプログラミングを確認

こちらでは、ゲームカテゴリの「ポンゲームのスターター」について、どのようにプログラミングされているかを詳しく解説していきます。「ポンゲーム」とは、動くピンポン玉をラケットのようなもので当てて楽しむゲームのことです。

目次

作品(プロジェクト)事例をダウンロード

まずは、Scratchコミュニティーサイトで公開されている作品(プロジェクト)をダウンロードし「Maze Starter.sb2」をスクラッチに読み込む作業から解説していきます。

①Scratchサポート教材のダウンロードページへアクセスします。

下記の「Scratchサポート教材」をクリックするとScratchサポート教材のダウンロードページが開きます。

②Starter Prohectsの「Download」をクリックします。

Scratchサポート教材のダウンロードページにアクセスしたらSupport Materialsの項目にあるStarter Prohects(スタータープロジェクト)の「Download」をクリックします。日本語表記の場合は、サポート素材の項目にあるスタータープロジェクトの「ダウンロード」をクリックします。

スクラッチサポート教材画面(スタータープロジェクト)

③ダウンロードが完了したら「Scratch2StarterProjects.zip」を実行します。

ダウンロードが完了するとGoogleクロームの場合、ブラウザーの左下にダウンロードされたzipファイルが表示されます。「Scratch2StarterProjects.zip」をクリックすると圧縮ファイルが解凍処理されフォルダが開きます。

Scratch2StarterProjects.zipを解凍

④「Scratch2StarterProjects」フォルダの中身を確認します。

圧縮ファイルが解凍処理されるとフォルダが開きます。

スタータープロジェクトフォルダ

フォルダの中身は以下のようなフォルダ構成となっており、それぞれのフォルダをダブルクリックするとスクラッチのファイル(***.sb2)が格納されています。今回は、こちらの1つを実際に取り込んでみて動作を確認していきます。

ちなみに、「.sb2」の拡張子は「Scratch2.0」用で、「Scratch1.4」用の場合は「.sb」になります。こちらのファイルは全て「Scratch2.0」用ですので、「Scratch1.4」では起動することができません。

  • __MACOSX
  • Animation
  • Games
  • Interactive Art
  • Music and Dance
  • Stories
  • Video Sensing (webcam)

⑤「Scratch 2.0オンライン版」を起動させます。

下記の「Scratch 2.0オンライン版」をクリックすると「Scratch 2.0オンライン版」が表示されます。基本的には「Scratch 2.0オンライン版」で解説していきますが、「Scratch 2.0オフライン版」でも同様の流れになります。ただし、上記でも説明したように「Scratch 1.4」では開くことができません。

⑥「ファイル」>「手元のコンピューターからアップロード」をクリックします。

ツールバーの「ファイル」から「手元のコンピューターからアップロード」をクリックします。日本語表記になっていない場合は、言語を変更する必要がありますので、「スクラッチ言語変更」から言語変更してください。

スクラッチファイル取り込み処理

⑦「Pong Starter.sb2」ファイルを選択し、「開く」をクリックします。

ファイルを開くダイアログボックスが表示されたら、先ほどダウンロードした「Scratch2StarterProjects」フォルダの「Games」>「Pong Starter.sb2」を選択し、「開く」をクリックします。

スクラッチファイル選択

⑧「OK」をクリックします。

既存プロジェクトと置き換えるかのメッセージボックスが表示されたら、「OK」をクリックします。これで準備が完了しました。

スクラッチファイル取り込み確認

⑨取り込みが完了したら、「緑の旗マーク」をクリックするとゲームがスタートします。

「Pong Starter.sb2」の取り込みが完了したら、ポンゲームが表示されます。左上の「ステージ」が作品(プロジェクト)画面になります。こちらの「緑の旗マーク」をクリックするとゲームがスタートします。

スクラッチポンゲームスタート

⑩マウスを操作して、ピンポン球を跳ね返します。

ゲームの遊び方はゲームを開始するとピンポン球が動きます。そしてマウスを動かすと連動して黒いラケットの「Paddle」スプライトが動きますので、ピンポン球が落ちてきたところに黒いラケットを移動させ当てると跳ね返ります。こちらでは得点も何もないのでそれを繰り返すだけのゲームとなっていますが、跳ね返らせられなかった場合は、ステージ下の赤い部分にピンポン球が触れるとゲーム終了となります。

どのような動作をするのかだいたい把握したところで、続いて実際にプログラミングの中身について解説していきます。

スクラッチポンゲーム

「Pong Starter」プログラミングの解説

こちらでは、まず「Pong Starter.sb2」で利用されているスプライト背景を確認してから、それぞれのオブジェクトにどのようなプログラミングがされているのかを1つ1つ解説していきます。

スプライト・背景の確認

まず、「Pong Starter.sb2」で利用されているスプライトと背景から確認していきましょう。

スプライト

スプライトは以下の2つが設定されています。

  • Ball
  • Paddle

「Ball」スプライトはペンゲームのピンポン球になります。初期設定では、向きは「-32度」、回転の種類は「回転しない」に設定されています。コスチュームを確認すると「ball」が1つだけ設定されており、音を確認すると「water_drop」が設定されています。こちらの「water_drop」の音は、黒いラケットに触れたときに出す音になります。

Ballスプライトの設定内容

「Paddle」スプライトは黒いラケットでピンポン球を打ち返す道具になります。こちらを確認すると向きは「90度」、回転の種類は「自由に回転」に設定されています。コスチュームを確認すると「cloak1-b」が1つだけあり、音は何も設定されていません。

Paddleスプライトの設定内容

背景

続いて背景を確認すると以下の2つが設定されています。

  • red brick
  • plain redline

「red brick」はレンガの壁に下部に赤いラインが描かれているもので、音は「pop」が1つ設定されています。こちらの音はスクリプト(ブロックの塊)には利用されていません。

背景red brickの設定内容

「plain redline」は下部に赤いラインが描かれているおり、それ以外は透明の背景となっています。2つの背景が設定されていますが、プログラミングでなにかしらの処理がされているというわけでないので、どちらの背景を利用しても問題ないです。

背景plain redlineの設定内容

プログラミングの確認

今回の「ポンゲームのスターター」では「Ball」と「Paddle」の2つのスプライトが利用されていますが、両方ともそれぞれスクリプトエリアにプログラムが書かれています。こちらではそれぞれで設定されているプログラムの中身について詳しく解説していきます。

「Ball」スプライトのプログラミング

「Ball」には以下の2つのプログラムがスクリプトエリアに配置されています。

「Ball」スプライトのプログラミング全体

プログラミング1

「Ball」スプライトのプログラミング1

「イベント」スクリプトの「緑の旗マークがクリックされたとき」ブロックの下にはまず、「動き」スクリプトの「x座標を●、y座標を●にする」ブロックと「▼度に向ける」ブロックが配置されています。

Ballスプライトの初期座標位置と方向

それぞれの値には、「x座標を20、y座標を150にする」、「45度に向ける」が設定されており、緑の旗マークをクリックすると「Ball」スプライトがx座標:20、y座標:150の位置に移動され向きが45度に設定されます。この位置と向きが「Ball」スプライトの初期位置になります。

「Ball」スプライトのプログラミング1

さらにその下には「制御」スクリプトの「ずっと」ブロックが配置されています。「ずっと」ブロックの中身を確認すると「動き」スクリプトの「もし端に着いたら、跳ね返る」ブロックと「●歩動かす」ブロックが配置されており、「10歩動かす」が設定されています。

こちらの処理では、まず「Ball」スプライトをx座標:20、y座標:150の位置に配置し、45度の向きに設定した後に「ずっと」ブロックを利用してゲーム開始からずっと10歩ずつ動かすといった処理になります。

更に、ステージの端に「Ball」スプライトが触れると「もし端に着いたら、跳ね返る」ブロックが有効となり跳ね返るように設定されています。

プログラミング2

「Ball」スプライトのプログラミング2

「イベント」スクリプトの「緑の旗マークがクリックされたとき」ブロックの下に「制御」スクリプトの「ずっと」ブロックが配置されており、この中には「制御」スクリプトの「もし◆なら」ブロックが2つが設定されています。

それぞれの条件分岐を確認すると「調べる」スクリプトの「▼に触れた」ブロックで「Paddle」スプライトに触れた場合と「■色に触れた」ブロック色に触れた場合が条件分岐として設定されています。

「Paddle」スプライトに触れた場合の処理を確認すると、「音」スクリプトの「▼の音を鳴らす」ブロックで「water_drop」の音が、「動き」スクリプトの「右に●度回す」ブロックの設定値には、「演算」スクリプトの「●から●までの乱数」ブロックが利用され「160から200までの乱数」が、「●歩動かす」ブロックで「10歩動かす」が設定されています。

こちらのプログラムは、黒いラケットの「Paddle」スプライトに「Ball」スプライトが触れると「water_drop」の音がなり、160~200までの乱数の角度分だけ「Ball」スプライトを右に回します。

更に「10歩動かす」処理が入っていますが、こちらが設定されている理由は明確には分かりませんが、「Paddle」スプライトに触れた時の処理ですので明示的に10歩動かすことで「Paddle」スプライトから離れるように設定されたのではないかと考えられます。

ただし、「10歩動かす」だけではたまに「Paddle」スプライトと触れた状態になる場合や「Ball」スプライトに「Paddle」スプライトの側面から触れた場合は、「Paddle」スプライトから離れない現象が見られます。こちらを「20歩動かす」「30歩動かす」に数値変更するとそういった現象も出てこなくなるので、色々数値を変更してみてください。

次に色に触れた場合の処理を確認すると、「制御」スクリプトの「▼を止める」ブロックで「すべてをとめる」が設定されています。これによりすべての処理が停止し、ゲームの結果としてゲームオーバーとなります。

「Paddle」スプライトのプログラミング

続いて「Paddle」スプライトのプログラムを確認していきます。「Paddle」には以下の1つのプログラムがスクリプトエリアに配置されています。

「Paddle」スプライトのプログラミング全体

プログラミング1

「Paddle」スプライトのプログラミング1

こちらでも、「イベント」スクリプトの「緑の旗マークがクリックされたとき」ブロックからはじまり、「ずっと」ブロックが設定されています。この中には「動き」スクリプトの「x座標を●にする」ブロックが配置されています。x座標の設定値には「調べる」スクリプトの「マウスのx座標」ブロックが利用されており、マウスを動かすと常にマウスのx座標を「Paddle」スプライトのx座標として移動させます。

実際に旗マークをクリックして、マウスを操作してみると「Paddle」スプライトが常にマウスのx座標の位置に移動しているのが分かるかと思います。「Ball」スプライトと触れると跳ね返ります。「Paddle」スプライトのプログラムはマウスの移動にあわせたものだけですが、「Ball」スプライト側でプログラミングされているものと合わせると「Ball」スプライトが当たると跳ね返ったり、当てずにそのままスルーし赤色に「Ball」スプライトが触れるとすべての処理が停止してゲームオーバーとなります。

「ポンゲームのスターター」の動作確認

実際にスクラッチゲームで遊んでみよう!

プログラムの中身を理解したら実際に遊んで見ましょう!ひとつひとつの動作がどのようにプログラムされているのかを理解できればそんなに難しいプログラミングではないので、実際に遊びながらどのようにスクラッチでプログラミングされているか確認してください。

まとめ

今回は、「ポンゲームのスターター」について解説しました。こちらの機能はポンゲームの最低限の機能になります。例えば、10歩動かすを30歩動かすだけでも「Ball」スプライトの進むスピードが速くなるのでむずかしくなります。他にも時間制限を設けたりボールの数を増やしたりと複雑なポンゲームにすることができます。

このように新しい機能を追加すればオリジナルのおもしろいポンゲームができますので、是非スクラッチでプログラミングに挑戦してみてください。

スタータープロジェクト

Scratchコミュニティーサイト提供のサポート教材「スタータープロジェクト」の作品(プロジェクト)は、「ゲーム」「アニメーション」「インタラクティブアート」「ストーリー」「webカメラ」の5つのカテゴリでまとめられています。

アニメーション

  • カニのアニメーション
  • ダンスパーティー
  • グリーティングカード
  • Picoショー

インタラクティブアート

  • Goboでペイント
  • サウンドフラワー
  • スパイラルマーカー
  • 魔法使いの呪文

ストーリー

  • 自己紹介(5つの事柄)
  • Howlerの紹介
  • お城のストーリー
  • バーチャルツアー

webカメラ

  • バブルビデオセンシング
  • ミュージカルボタン
  • ピザ職人
  • ミニフィグを救出
スクラッチプログラミング入門

スクラッチプログラミング入門

Scratchは、MITメディアラボが開発した子ども向けビジュアルプログラミング言語です。
スクラッチプログラミング入門では、スクラッチの基本的な使い方から複雑なプログラムの作り方まで子供たちが楽しく学ぶための教育サイトです。

TOP