2.15 GAME - フラッピーパロット

ここでは超音波モジュールを使ってフラッピーパロットゲームを楽しんでいます。

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

../_images/15_parrot.png

必要な部品

このプロジェクトには以下のコンポーネントが必要です。

全キットを購入するのが確かに便利です。こちらがリンクです:

名前

このキットのアイテム

リンク

ESP32 Starter Kit

320+

ESP32 Starter Kit

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

コンポーネントの紹介

購入リンク

ESP32 WROOM 32E

BUY

ESP32カメラ拡張ボード

-

ジャンパーワイヤ

BUY

超音波モジュール

BUY

回路の構築

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

以下の図に従って回路を構築してください。

../_images/16_flappy_parrot_bb.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 スプライトのスクリプトを作成します。

  • 緑の旗がクリックされたら、常に飛行中であるようにコスチュームを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 スプライトを隠し、同時に自分自身のクローンを作成します。[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