.. note:: Hallo und willkommen in der SunFounder Raspberry Pi & Arduino & ESP32 Enthusiasten-Gemeinschaft auf Facebook! Tauchen Sie tiefer ein in die Welt von Raspberry Pi, Arduino und ESP32 mit anderen Enthusiasten. **Warum beitreten?** - **Expertenunterstützung**: Lösen Sie Nachverkaufsprobleme und technische Herausforderungen mit Hilfe unserer Gemeinschaft und unseres Teams. - **Lernen & Teilen**: Tauschen Sie Tipps und Anleitungen aus, um Ihre Fähigkeiten zu verbessern. - **Exklusive Vorschauen**: Erhalten Sie frühzeitigen Zugang zu neuen Produktankündigungen und exklusiven Einblicken. - **Spezialrabatte**: Genießen Sie exklusive Rabatte auf unsere neuesten Produkte. - **Festliche Aktionen und Gewinnspiele**: Nehmen Sie an Gewinnspielen und Feiertagsaktionen teil. 👉 Sind Sie bereit, mit uns zu erkunden und zu erschaffen? Klicken Sie auf [|link_sf_facebook|] und treten Sie heute bei! .. _sh_eat_apple: 2.16 SPIEL - Apfel essen ============================== In diesem Projekt spielen wir ein Spiel, bei dem ein Knopf verwendet wird, um einen Käfer zu steuern, der Äpfel isst. Wenn die grüne Flagge angeklickt wird, drücken Sie den Knopf und der Käfer dreht sich. Drücken Sie den Knopf erneut und der Käfer hält an und bewegt sich in diesem Winkel vorwärts. Sie müssen den Winkel des Käfers so steuern, dass er sich vorwärts bewegt, ohne die schwarze Linie auf der Karte zu berühren, bis er den Apfel isst. Wenn er die schwarze Linie berührt, ist das Spiel vorbei. .. image:: img/14_apple.png Benötigte Komponenten ------------------------- Für dieses Projekt benötigen wir die folgenden Komponenten. Es ist definitiv praktisch, ein ganzes Set zu kaufen, hier ist der Link: .. list-table:: :widths: 20 20 20 :header-rows: 1 * - Name - ARTIKEL IN DIESEM KIT - LINK * - 3 in 1 Starter Kit - 380+ - |link_3IN1_kit| Sie können sie auch einzeln über die untenstehenden Links kaufen. .. list-table:: :widths: 30 20 :header-rows: 1 * - KOMPONENTENBESCHREIBUNG - KAUF-LINK * - :ref:`cpn_uno` - |link_Uno_R3_buy| * - :ref:`cpn_breadboard` - |link_breadboard_buy| * - :ref:`cpn_wires` - |link_wires_buy| * - :ref:`cpn_resistor` - |link_resistor_buy| * - :ref:`cpn_capacitor` - |link_capacitor_buy| * - :ref:`cpn_button` - |link_button_buy| Schaltung aufbauen ----------------------- Der Knopf ist ein Gerät mit 4 Pins. Da Pin 1 mit Pin 2 und Pin 3 mit Pin 4 verbunden ist, werden beim Drücken des Knopfs die 4 Pins verbunden und der Stromkreis geschlossen. .. image:: img/5_buttonc.png Bauen Sie den Schaltkreis gemäß dem folgenden Diagramm. * Verbinden Sie einen der Pins auf der linken Seite des Knopfs mit Pin 12, der mit einem Pull-down-Widerstand und einem 0,1uF (104) Kondensator verbunden ist (um Flackern zu vermeiden und ein stabiles Signal auszugeben, wenn der Knopf betätigt wird). * Verbinden Sie das andere Ende des Widerstands und des Kondensators mit GND und einen der Pins auf der rechten Seite des Knopfs mit 5V. .. image:: img/circuit/button_circuit.png Programmierung ------------------ Der Effekt, den wir erreichen möchten, besteht darin, mit der Schaltfläche die Richtung des **Beetle**-Sprites zu steuern, um sich vorwärts zu bewegen und den Apfel zu essen, ohne die schwarze Linie auf dem **Maze**-Hintergrund zu berühren, wodurch der Hintergrund gewechselt wird gegessen. Fügen Sie nun die entsprechenden Hintergründe und Sprites hinzu. **1. Hintergründe und Sprites hinzufügen** Fügen Sie einen **Maze** Hintergrund über den **Choose a backdrop** Knopf hinzu. .. image:: img/14_backdrop.png Löschen Sie den Standard-Sprite und wählen Sie dann den **Beetle** Sprite aus. .. image:: img/14_sprite.png Platzieren Sie den **Beetle** Sprite am Eingang des **Maze** Hintergrunds, merken Sie sich die x,y-Koordinatenwerte an dieser Stelle und ändern Sie die Größe des Sprites auf 40%. .. image:: img/14_sprite1.png **2. Hintergrund zeichnen** Jetzt wird es Zeit, einen Hintergrund zu zeichnen, auf dem das Zeichen WIN! erscheint. Klicken Sie zunächst auf die Vorschaugrafik des Hintergrunds, um zur Seite **Backdrops** zu gelangen, und klicken Sie dann auf den leeren Hintergrund1. .. image:: img/14_paint_back.png :width: 800 Beginnen Sie jetzt mit dem Zeichnen. Sie können sich an das untenstehende Bild halten oder Ihren eigenen Hintergrund entwerfen, solange die Darstellung gewinnend ist. * Verwenden Sie das **Circle**-Werkzeug, um eine Ellipse ohne Umriss und in roter Farbe zu zeichnen. * Verwenden Sie anschließend das **Text**-Werkzeug, um das Wort "WIN!" zu schreiben. Setzen Sie die Zeichenfarbe auf Schwarz und passen Sie die Größe und Position des Textes an. * Benennen Sie den Hintergrund **Win**. .. image:: img/14_win.png **3. Skripting für den Hintergrund** Der Hintergrund sollte beim Spielstart immer auf **Maze** wechseln. .. image:: img/14_switchback.png **4. Skripte für den Sprite Käfer schreiben** Schreiben Sie jetzt ein Skript, damit der Sprite **Beetle** mit Hilfe eines Knopfes vorwärts bewegt und die Richtung geändert werden kann. Der Ablauf ist wie folgt. * Wenn die grüne Flagge angeklickt wird, setzen Sie den Winkel des **Beetle** auf 90 und die Position auf (-134, -134) oder ersetzen Sie diese durch den Koordinatenwert Ihrer eigenen Position. Erstellen Sie die Variable **flag** und setzen Sie den Anfangswert auf -1. .. image:: img/14_bee1.png Im [forever]-Block werden vier [if]-Blöcke verwendet, um verschiedene mögliche Szenarien zu bestimmen. * Wenn die Taste 1 (gedrückt) ist, verwenden Sie den [`mod `_] Block, um den Wert der Variable **flag** zwischen 0 und 1 umzuschalten (abwechselnd 0 für diesen Druck und 1 für den nächsten Druck). .. image:: img/14_bee2.png * Wenn Flagge=0 (dieser Tastendruck), soll sich der **Beetle**-Sprite im Uhrzeigersinn drehen. Wird dann festgestellt, dass Flagge gleich 1 ist (Taste erneut gedrückt), bewegt sich der **Beetle**-Sprite vorwärts. Andernfalls dreht er sich weiter im Uhrzeigersinn. .. image:: img/14_bee3.png * Wenn der Käfer-Sprite Schwarz berührt (die schwarze Linie im **Maze** Hintergrund), endet das Spiel und das Skript wird gestoppt. .. note:: Sie müssen im [Touch color]-Block auf den Farbbereich klicken und dann das Pipettenwerkzeug verwenden, um die Farbe der schwarzen Linie auf der Bühne aufzunehmen. Wenn Sie einfach Schwarz wählen, funktioniert dieser [Touch color]-Block nicht. .. image:: img/14_bee5.png * Wenn der Käfer Rot berührt (Verwenden Sie ebenfalls das Pipettenwerkzeug, um die rote Farbe des Apfels aufzunehmen), wechselt der Hintergrund zu **Win**. Das bedeutet, das Spiel wurde erfolgreich abgeschlossen und das Skript wird gestoppt. .. image:: img/14_bee4.png