2.17 ゲーム - フラッピーパロット

このゲームでは、超音波モジュールを利用して、フラッピーパロットというゲームをプレイします。

スクリプトが実行されると、緑の竹がランダムな高さで右から左へとゆっくりと移動します。超音波モジュールの上に手を置き、超音波モジュールと手の距離が10cm未満の場合、パロットは上昇します。それ以外の場合、下降します。 緑の竹(パドル)にぶつからないように、手と超音波モジュールとの距離を調節する必要があります。もし接触した場合、ゲームオーバーです。

../_images/15_parrot.png

必要な部品

このプロジェクトには以下の部品が必要です。

全てのキットをまとめて購入するのが便利です。以下にリンクを記載します。

名前

このキットのアイテム

リンク

3 in 1 Starter Kit

380+

3 in 1 Starter Kit

以下のリンクから、個別に購入することも可能です。

コンポーネントの紹介

購入リンク

SunFounder R3ボード

BUY

ジャンパーワイヤー

BUY

超音波モジュール

BUY

回路の作成

超音波センサーモジュールは、超音波を使って対象物までの距離を測定する機器である。 2つのプローブがある。1つは超音波を送信するもので、もう1つは超音波を受信し、送受信時間を距離に変換することで、障害物との距離を検出する。

以下の図に従って回路を組み立ててください。

../_images/ultrasonic_circuit.png

プログラミング

実現したい効果は、超音波モジュールを使って、スプライト Parrot の飛行高さをコントロールし、同時に Paddle スプライトを避けることです。

1. スプライトの追加

デフォルトのスプライトを削除し、 Choose a Sprite ボタンで Parrot スプライトを追加します。サイズを50%に設定し、位置を左中央に移動します。

../_images/15_sprite.png

次に、 Paddle スプライトを追加し、サイズを150%に設定、角度を180に設定し、初期位置を右上隅に移動します。

../_images/15_sprite1.png

Paddle スプライトの Costumes ページに移動して、アウトラインを削除します。

../_images/15_sprite2.png

2. Parrotスプライトのスクリプト作成

次に、飛行中の Parrot スプライトのスクリプトを記述します。飛行高さは超音波モジュールの検出距離によって決まります。

  • 緑のフラグがクリックされたとき、0.2秒ごとにコスチュームを切り替えて常に飛んでいるように見せます。

../_images/15_parr1.png
  • 超音波モジュールの値を読み取り、[round]ブロックを使って四捨五入した後、変数 distance に格納します。

../_images/15_parr2.png
  • 超音波の検出距離が10cm未満の場合、y座標を50増やし、 Parrot スプライトは上昇します。それ以外の場合、y座標の値は40減少し、 Parrot は下降します。

../_images/15_parr3.png
  • Parrot スプライトが Paddle スプライトに触れると、ゲームは終了し、スクリプトの実行が停止します。

../_images/15_parr4.png

3. Paddleスプライトのスクリプト作成

次に、 Paddle スプライトのスクリプトを書きます。これはステージ上でランダムに表示する必要があります。

  • 緑のフラグがクリックされたとき、スプライト Paddle を非表示にし、同時に自分自身のクローンを作成します。[create clone of] ブロックはコントロールブロックおよびスタックブロックです。引数のスプライトのクローンを作成します。

../_images/15_padd.png
  • Paddle がクローンとして表示されるとき、x座標は220(一番右)で、y座標はランダムに(-125から125)(高さランダム)になります。

../_images/15_padd1.png
  • [repeat]ブロックを使用して、x座標の値をゆっくりと減少させることで、 Paddle スプライトのクローンが右から左にゆっくりと移動するのを見ることができます。

../_images/15_padd2.png
  • 新しい Paddle スプライトのクローンを再度作成し、前のクローンを削除します。

../_images/15_padd3.png