.. note:: こんにちは、SunFounderのRaspberry Pi & Arduino & ESP32愛好家コミュニティへようこそ!Facebook上でRaspberry Pi、Arduino、ESP32についてもっと深く掘り下げ、他の愛好家と交流しましょう。 **参加する理由は?** - **エキスパートサポート**:コミュニティやチームの助けを借りて、販売後の問題や技術的な課題を解決します。 - **学び&共有**:ヒントやチュートリアルを交換してスキルを向上させましょう。 - **独占的なプレビュー**:新製品の発表や先行プレビューに早期アクセスしましょう。 - **特別割引**:最新製品の独占割引をお楽しみください。 - **祭りのプロモーションとギフト**:ギフトや祝日のプロモーションに参加しましょう。 👉 私たちと一緒に探索し、創造する準備はできていますか?[|link_sf_facebook|]をクリックして今すぐ参加しましょう! .. _1.16_scratch: 1.16 釣りゲーム ======================== 今日は、釣りゲームを作成します。 ステージエリアの水を観察し、魚がフックにかかったのを見つけたら、スイッチを傾けてそれを捕まえることを忘れないでください。 .. image:: img/1.16_header.png 必要な部品 ------------------------------ このプロジェクトには、以下の部品が必要です。 .. image:: img/1.16_component.png キット全体を購入するのは確かに便利です。以下がリンクです: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - 名前 - このキットのアイテム - リンク * - Raphael Kit - 337 - |link_Raphael_kit| 以下のリンクから部品を個別に購入することもできます。 .. list-table:: :widths: 30 20 :header-rows: 1 * - コンポーネントの紹介 - 購入リンク * - :ref:`cpn_gpio_board` - |link_gpio_board_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_tilt_switch` - \- 回路を組む --------------------- .. image:: img/1.16_fritzing.png コードをロードして結果を確認する --------------------------------------- Scratch 3に( ``1.16_fishing_game.sb3`` )のコードファイルをロードします。 子供が釣りをしているのを見ることができます。水面が動くと、傾斜スイッチを振って魚を捕まえることができます。 スイッチを振り続けないと、魚が逃げてしまうことを覚えておいてください。 スプライトに関するヒント --------------------------------- Sprite1を選択し、左上の **Costumes** をクリックします。 ``~/raphael-kit/scratch/picture`` パスから **Upload Costume** ボタンを使用して6枚の画像(**fish1** から **fish6**)をアップロードします。デフォルトの2つのコスチュームを削除し、スプライトの名前を **fish** に変更します。 .. image:: img/1.16_upload_fish.png コードに関するヒント ------------------------------- .. image:: img/1.16_fish2.png :width: 400 **fish** スプライトの初期コスチュームを **fish1** に設定し、 **fish_status** の値を0に設定します( **fish_status=0** の場合、魚はフックにかかっていない。 **fish_status=1** の場合、魚はフックにかかっている)。 .. image:: img/1.16_fish3.png :width: 400 **fish_status=0** の場合、つまり魚がまだフックにかかっていない場合、釣りゲームを開始します。0から10秒のランダムな時間を待ち、 **fish_status** を1に設定します。これは魚がフックにかかったことを意味し、"魚がかかった"というメッセージを放送します。 .. note:: 放送ブロックの目的は、他のコードブロックや他のスプライトにメッセージを送ることです。そのメッセージは、要求または命令のいずれかです。 .. image:: img/1.16_fish4.png :width: 400 「魚がかかった」というメッセージを受け取ると、 **fish** スプライトを **fish2** と **fish3** のコスチュームの間で切り替えて、魚がかかるのを見ることができます。 .. image:: img/1.16_fish5.png :width: 400 コスチュームを切り替えた後、ゲームが終了していない場合、それは魚がフックから外れて逃げたことを意味するので、 **fish** スプライトのコスチュームを **fish6** (魚がすべっている状態)に切り替えます。 .. image:: img/1.16_fish6.png :width: 400 gpio17が高い(傾斜スイッチが傾いている)場合、釣り竿が引き上げられたことを意味します。この時点で、fish_statusの値を判断します。それが1の場合、魚がフックにかかったときに釣り竿が引き上げられ、fish4コスチューム(魚が捕まった)に切り替えられます。逆に、魚がフックにかかっていないときに釣り竿が引き上げられると、fish5コスチューム(何も捕まえられない)に切り替えられます。