Lektion 2: Verwenden mehrerer While-Schleifen
Weiter durch das Mauerlabyrinth
Jetzt haben wir eine kleine Schleife mit dem Stoßstangensensor verwendet, damit der VR-Roboter nicht mehr fährt, wenn er die Wand erreicht. Um jedoch durch das Wandlabyrinth zu gelangen, muss sich der VR-Roboter drehen, wenn er eine Wand erreicht, damit er die Richtung ändern und weitermachen kann.
-
Entfernen Sie zunächst den STOP-Befehl außerhalb der while-Schleife und ersetzen Sie ihn durch einen turn_ for-Befehl. Stellen Sie die Parameter so ein, dass sich der VR-Roboter um 90 Grad nach links dreht. Ihr Projekt sollte nun so aussehen:
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) - Starten Sie den Wall Maze Playground , wenn er noch nicht geöffnet ist, und führen Sie das Projekt aus.
-
Beobachten Sie , wie der VR-Roboter vom Anfang des Wandlabyrinths fährt, halten Sie an, wenn der Stoßstangensensor von der Wand gedrückt wird, und drehen Sie sich um 90 Grad nach links.

Mehrere Schleifen und das Problem des Wandlabyrinths
Jetzt hat der VR-Roboter eine Wand erreicht und sich gedreht, damit er weiter durch das Labyrinth fahren kann. So wie die Bumper-Sensor-Daten in einer while-Schleife für diesen ersten Schritt im Labyrinth verwendet wurden, kann die gleiche Struktur mehrmals im selben Projekt verwendet werden, um den VR-Roboter durch das Labyrinth zu führen. Mehrere while-Schleifen können im selben Projekt verwendet werden.
-
Ausgehend von der aktuellen Position des VR-Roboters wäre der nächste Schritt bei der Lösung des Wandlabyrinths, zur nächsten Wand zu fahren und um 90 Grad nach rechts zu drehen. Die vorhandenen Befehle können kopiert und unter die vorherige while-Schleife und turn_for-Befehl eingefügt werden. Denken Sie daran, auf Einrückungen zu achten und die neuen turn_for -Befehlsparameter so zu ändern , dass sie um 90 Grad nach rechts abbiegen. Ihr Projekt sollte nun so aussehen:
def main(): while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(RIGHT, 90, DEGREES) - Setzen Sie den Wandlabyrinth-Spielplatz zurück und führen Sie das Projekt erneut aus.
-
Beobachten Sie , wie der VR-Roboter vom Anfang des Wandlabyrinths fährt, stoppen Sie, wenn der Stoßfängersensor von der Wand gedrückt wird, drehen Sie sich um 90 Grad nach links, fahren Sie vorwärts, bis der Stoßfängersensor erneut von einer Wand gedrückt wird, drehen Sie sich dann um 90 Grad nach rechts und stoppen Sie.

Mini-Herausforderung
Erstellen Sie für diese Mini-Herausforderung ein Projekt, bei dem der VR-Roboter vom Start bis zum Buchstaben „A“ im Wandlabyrinth Spielplatz fährt und dabei mehrere verwendet, während Schleifen und den Stoßfängersensor durchlaufen!

Befolgen Sie diese Schritte, um die Mini-Herausforderung abzuschließen:
-
Sehen Sie sich das Lösungsvideo unten an, um zu sehen, wie der VR-Roboter fahren sollte, um die Mini-Herausforderung abzuschließen. In diesem Videoclip beginnt der VR-Roboter am Anfang in der unteren Mitte des Spielplatzes. Er fährt vorwärts, bis der Stoßfängersensor von der gegenüberliegenden Wand gedrückt wird, biegt dann nach links ab und fährt zur nächsten Wand davor. Wenn der Stoßfänger an diese Wand gedrückt wird, dreht sich der Roboter wieder nach links und fährt vorwärts, bis er die letzte Wand und den Buchstaben A erreicht.
- Erstellen Sie ein Projekt, indem Sie die erforderlichen Befehle zum Unit4Lesson2-Projekt hinzufügen oder entfernen.
- Starten Sie das Projekt, um es zu testen.
- Wenn das Projekt nicht erfolgreich ist, bearbeiten Sie es und versuchen Sie es erneut. Fahren Sie fort, das Projekt zu überarbeiten und auszuführen, bis der VR-Roboter erfolgreich vom Start bis zum Buchstaben "A" fährt.
- Speichern Sie das Projekt, sobald der VR-Roboter erfolgreich vom Start bis zum Buchstaben "A" gefahren ist.
Herzlichen Glückwunsch! Du hast die Mini-Herausforderung gelöst!
Fragen
Bitte wählen Sie unten einen Link aus, um auf das Lektionsquiz zuzugreifen.
Google Doc / .docx / .pdf