Skip to content

Latest commit

 

History

History
132 lines (79 loc) · 6.07 KB

15_parrot.rst

File metadata and controls

132 lines (79 loc) · 6.07 KB

Note

こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。

参加する理由は?

  • エキスパートサポート:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。
  • 学び&共有:ヒントやチュートリアルを交換してスキルを向上させましょう。
  • 独占的なプレビュー:新製品の発表や先行プレビューに早期アクセスしましょう。
  • 特別割引:最新製品の独占割引をお楽しみください。
  • 祭りのプロモーションとギフト:ギフトや祝日のプロモーションに参加しましょう。

👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう!

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

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

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

img/15_parrot.png

必要な部品

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

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

名前 このキットのアイテム リンク
ESP32 Starter Kit 320+ |link_esp32_starter_kit|

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

コンポーネントの紹介 購入リンク
:ref:`cpn_esp32_wroom_32e` |link_esp32_wroom_32e_buy|
:ref:`cpn_esp32_camera_extension` -
:ref:`cpn_wires` |link_wires_buy|
:ref:`cpn_ultrasonic` |link_ultrasonic_buy|

回路の構築

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

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

img/circuit/16_flappy_parrot_bb.png

プログラミング

目指す効果は、超音波モジュールを使ってスプライト Parrot の飛行高度を制御し、 Paddle スプライトを避けることです。

1. スプライトの追加

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

img/15_sprite.png

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

img/15_sprite1.png

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

img/15_sprite2.png

2. パロットスプライトのスクリプティング

超音波モジュールの検出距離によって飛行高度が決定される飛行中の Parrot スプライトのスクリプトを作成します。

  • 緑の旗がクリックされたら、常に飛行中であるようにコスチュームを0.2秒ごとに切り替えます。

img/15_parr1.png

  • 超音波モジュールの値を読み取り、[round]ブロックで四捨五入してから変数 distance に格納します。

img/15_parr2.png

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

img/15_parr3.png

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

img/15_parr4.png

3. パドルスプライトのスクリプティング

ステージ上でランダムに出現する必要がある Paddle スプライトのスクリプトを書きます。

  • 緑の旗がクリックされたら Paddle スプライトを隠し、同時に自分自身のクローンを作成します。[create clone of] ブロックは、コントロールブロックでありスタックブロックです。引数のスプライトのクローンを作成します。実行中のスプライトもクローンすることができ、クローンのクローンを再帰的に作成します。

img/15_padd.png

  • Paddle がクローンとして提示されると、x座標は220(最も右)であり、y座標はランダム(高さランダム)で-125から125になります。

img/15_padd1.png

  • [repeat]ブロックを使用して、x座標の値をゆっくりと減少させ、 Paddle スプライトのクローンが右から左へゆっくりと移動し、消えるまで見えるようにします。

img/15_padd2.png

  • 新しい Paddle スプライトを再クローンし、前のクローンを削除します。

img/15_padd3.png