.. include:: /index.rst
:start-after: start_hello_message
:end-before: end_hello_message
.. _sc_parrot:
お楽しみプロジェクト2 フラッピーパロット
========================================
このプロジェクトでは、超音波モジュールを使用してフラッピーパロットゲームをプレイします。
スクリプトを開始すると、緑色の竹(パドル)がランダムな高さで右から左に移動します。オウムを制御するには、超音波モジュールの上に手をかざします。手とモジュールの距離が 10cm 未満の場合、オウムは上昇し、それ以外の場合は下降します。この距離を慎重に調整して、オウムが緑色の竹をうまく通過できるように導いてください。竹に接触するとゲーム終了です。
.. raw:: html
以下は、プロジェクトを実装するための手順です。最初はこれらの手順に従うことをお勧めします。慣れてきたら、お好みに応じてエフェクトを変更しても構いません。
1. スプライトを追加する
---------------------------
* デフォルトのスプライトを削除し、 **スプライトを選ぶ** ボタンを使用して **Parrot** スプライトを追加します。サイズを 50% に設定し、左下隅に配置します。
.. image:: img/parrot_choose_parrot.png
* **Paddle** スプライトを追加し、サイズを 150% に設定し、180 度回転させて右上隅に配置します。
.. image:: img/parrot_choose_paddle.png
* **Paddle** スプライトの ** コスチューム** ページに移動し、キャンバス上の **Paddle** を選択して、** 輪郭** ツールをクリックします。
.. image:: img/parrot_set_parrot1.png
:width: 90%
* 輪郭効果を完全な塗りつぶしモードに変更し、削除ツールを使用してそれを除去します。
.. image:: img/parrot_set_parrot2.png
:width: 90%
2. **オウム** スプライトのスクリプト
---------------------------------------------
**Parrot** スプライトに飛行をシミュレートするスクリプトを書き、超音波モジュールの検出距離に基づいて高度を調整します。
* 緑色の旗がクリックされたら、0.2 秒ごとにコスチュームを切り替えて飛行の外観を維持します。
.. image:: img/parrot_script_parrot1.png
* 超音波の検出距離が 10cm 未満の場合、y座標を 50 増やして **Parrot** を上昇させます。それ以外の場合は、y座標を 40 減らして **Parrot** を下降させます。
.. image:: img/parrot_script_parrot3.png
* **Parrot** スプライトが **Paddle** スプライトに接触すると、ゲームが終了し、スクリプトの実行が停止します。
.. image:: img/parrot_script_parrot4.png
3. **パドル** スプライトのスクリプト
-----------------------------------------------
**Paddle** スプライトがステージ上にランダムに表示されるようにスクリプトを書きます。
* 緑色の旗がクリックされたら、 **Paddle** スプライトを非表示にし、同時に自身のクローンを作成します。[`自身のクローンを作る `_] ブロックがこのクローン処理を制御します。
.. image:: img/parrot_script_paddle1.png
* クローンの位置を x座標 220(右端)、y座標は (-125 から 125 の間でランダム) に設定します。
.. image:: img/parrot_script_paddle2.png
* [繰り返し] ブロックを使用して、x座標を徐々に減少させ、クローンを右から左へゆっくりと移動させ、最後に消えるようにします。
.. image:: img/parrot_script_paddle3.png
* 新しい **Paddle** スプライトを再クローンし、前のクローンを削除します。
.. image:: img/parrot_script_paddle4.png
プログラミングは完了です。緑色の旗をクリックしてスクリプトを実行し、期待通りの効果が得られるか確認してみてください。
.. raw:: html