.. include:: /index.rst :start-after: start_hello_message :end-before: end_hello_message お楽しみプロジェクト4 リンゴを食べる ===================================== このプロジェクトでは、赤外線障害物回避モジュールを使用して、カブトムシのスプライトをリンゴへ導きます。 緑色の旗をクリックした後、左側の障害物回避モジュールの前で手を素早くかざします(遮ってからすぐに手を離します)。これによりカブトムシの回転が始まります。正しい向きに合わせたら、もう一度モジュールの前で手をかざしてカブトムシを前進させ、マップ上の黒い線を避けるようにします。調整や方向転換が必要な場合は、もう一度モジュールの前で手をかざしてカブトムシを希望の角度に回転させます。カブトムシのスプライトがリンゴに到達するまで、これらの手順を繰り返します。 .. raw:: html 以下は、プロジェクトを実装するための手順です。最初はこれらの手順に従うことをお勧めします。慣れてきたら、お好みに応じてエフェクトを変更しても構いません。 1. **迷路** 背景を描く ------------------------------- ここでは、赤いリンゴが描かれたマップの背景を描きます。 * まず、空の背景を選択します。 .. image:: img/apple_click_backdrop.png * **背景** をクリックしてマップの背景を描き始めます。まず、背景の名前を **Maze** に変更します。 .. image:: img/apple_open_backdrop.png * **線** ツールを使用し、色を黒、幅を 4 に設定して、マップを描き始めます。私のものと同じである必要はなく、アイデアに基づいて自由にデザインしてください。 .. image:: img/apple_paint_bk_maze2.png :width: 90% * 次に、リンゴを描きます。 **円** ツールを使用して、輪郭なしの赤い楕円または円を描きます。 .. image:: img/apple_paint_bk_maze3.png .. note:: **輪郭** ウィンドウをクリックし、** 削除** ツールを使用すると、輪郭を削除できます。 .. image:: img/apple_paint_bk_maze4.png * **ブラシ** ツールを選択し、色と幅を選んでリンゴの描画を仕上げます。 .. image:: img/apple_paint_bk_maze5.png 2. **Win** 背景を描く -------------------------- ここから描画を始めます。以下の手順を参考にするか、創造力を活かして勝利を表す背景を自由に描いてください。 * 下部の新しい背景を追加するボタンをクリックし、 **ペイント** を選択して、この背景に **Win** という名前を付けます。 .. image:: img/apple_paint_bk_win.png * **円** ツールを使用して、輪郭なしの赤い楕円を描きます。 .. image:: img/apple_paint_bk_win2.png :width: 90% * 次に、 **テキスト** ツールを使用して「WIN!」と書きます。フォントの色を黒に設定し、テキストのサイズと位置を調整します。 .. image:: img/apple_paint_bk_cus2.png :width: 90% 3. **迷路** 背景のスクリプト ------------------------------- ゲームが開始されるたびに、背景が **Maze** に切り替わるようにします。 .. image:: img/apple_switch_backdrop.png :width: 90% 4. **カブトムシ** スプライトを選択する ---------------------------------------- * デフォルトのスプライトを削除し、 **Beetle** スプライトを選択します。 .. image:: img/apple_choose_sprite.png * **Beetle** スプライトを ** 迷路** 背景の入口に配置し、そのときの x、y 座標値を確認して、スプライトのサイズを 40% に変更します。 .. image:: img/apple_place_sprite.png 5. **カブトムシ** スプライトのスクリプト ----------------------------------------------- 次に、左側の障害物回避モジュールの制御下で、 **Beetle** スプライトが前進および方向転換を行うためのスクリプトを書きます。 * 緑色の旗がクリックされたら、 **Beetle** の角度を 90 に設定し、位置を (-124, -113) または配置した座標値に設定します。 .. image:: img/apple_point_in.png :width: 90% * 変数 **flag** を作成し、その初期値を -1 に設定します。 .. image:: img/apple_vable_flag.png 次に、[ずっと] ブロック内で、4 つの [もし] ブロックを使用してさまざまなシナリオを管理します。 * 左側の赤外線が遮られた場合、[`mod `_] ブロックを使用して、変数 **flag** を 0 と 1 の間で切り替えます(今回の押下は 0、次回は 1 と交互になります)。 .. image:: img/apple_read_ir.png * flag が 0 の場合(左側の赤外線が遮られた場合)、 **Beetle** スプライトを時計回りに回転させます。flag が 1 の場合(左側の赤外線が再び遮られた場合)、 **Beetle** を前進させます。それ以外の場合は、時計回りに回転し続けます。 .. image:: img/apple_read_flag.png * **Beetle** スプライトが黒色に触れた場合(** 迷路** 背景の黒い線)、ゲームが終了し、スクリプトの実行が停止します。 .. image:: img/apple_touch_black1.png .. note:: [色に触れた] ブロックの色領域をクリックし、スポイトツールを選択してステージ上の黒い線の色を取得します。適当な黒色を選択すると、この [色に触れた] ブロックは正しく機能しません。 .. image:: img/apple_touch_black.png * カブトムシが赤色に触れた場合(スポイトツールを使用してリンゴの赤色を取得します)、背景が **Win** に切り替わり、ゲームの成功を示します。スクリプトの実行が停止します。 .. image:: img/apple_touch_red.png プログラミングは完了です。緑色の旗をクリックしてスクリプトを実行し、期待通りの効果が得られるか確認してみてください。 .. raw:: html