Lektion 3: Projektablauf mit mehreren While Loops
Nachdem Sie nun ein Textprojekt erstellt haben, um den VR-Roboter zum Buchstaben „A“ auf dem Wall Maze Playground zu navigieren, erweitern Sie Ihre Fähigkeiten mit Bedingungswerten und Sensorwerten. In dieser Lektion navigieren Sie den VR-Roboter zur Nummer ‘2‘ im Wall Maze Playground und erkunden dann, warum zusätzliche Befehle benötigt werden, um bis zum Buchstaben ‘B‘ zu fahren. In der Mini-Challenge wendest du diese Fähigkeiten an, um vom Beginn des Mauerlabyrinths bis zur Zahl „3“ zu navigieren.

Lernergebnisse
- Beschreiben Sie den Programmablauf in einem Projekt, bei dem ein VR-Roboter vorwärts fährt, bis der Stoßstangensensor gedrückt wird.
Projekt umbenennen
- Wenn das Projekt der vorherigen Lektion noch nicht geladen ist, laden Sie das Unit4Lesson2-Projekt.
-
Benennen Sie das Projekt Unit4Lesson3 um.
Ablauf des Projekts, um zum Buchstaben "A" zu fahren
In der vorherigen Lektion fuhr der VR-Roboter zum Buchstaben „A“ auf dem Wall Maze Playground. Lassen Sie uns den Projektablauf aufschlüsseln, während wir uns darauf vorbereiten, zu einem neuen Ort im Mauerlabyrinth zu navigieren.

-
Um den Projektablauf für die Fahrt zum Buchstaben "A" auf dem Wall Maze Playground besser zu verstehen, ändern Sie zunächst Ihr vorheriges Projekt oder erstellen Sie ein neues Projekt, das zu diesem Basisprojekt passt.
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(LEFT, 90, DEGREES) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop()
- Wenn ein Projekt eine While-Schleife mit einer NICHT-Bedingung verwendet, folgt der Programmablauf des Projekts immer noch der gleichen Top-to-Bottom-Sequenz. Die while-Schleife ermöglicht es dem Programmablauf, an einem bestimmten Punkt zu "pausieren", während eine Bedingung erfüllt ist. Der NOT-Operator ermöglicht es dem Projekt, in der Schleife zu bleiben, bis der Zustand als falsch gemeldet wird. Dann fließt das Projekt zum nächsten Befehl außerhalb der Schleife. Eine boolesche Bedingung, wie der linke Stoßfänger, der gedrückt wird, meldet einen True- oder False-Wert. In diesem Code zum Fahren des VR-Roboters zum Buchstaben "A" fährt der VR-Roboter vorwärts, bis der boolesche Zustand des linken Stoßfängers, der gedrückt wird, True ist.
Der Projektablauf des Projekts, um zum Buchstaben 'A' zu fahren, würde wie folgt aussehen:
Das Verhalten des VR-Roboters zeigt, wie jede Schleife ausgeführt wird. Zusammen mit der Bewegung des VR-Roboters können wir deutlich sehen, wohin der VR-Roboter gefahren ist, nachdem die Schleife im Projekt ausgeführt wurde.
Fahren Sie zur Zahl '2'
In dieser Lektion wird das Projekt bearbeitet, um den VR-Roboter auf die Nummer ‘2‘ auf dem Wall Maze Playground fahren zu lassen!

-
Im Projekt aus Lektion 2 dreht sich der VR-Roboter nach links, um zum Buchstaben „A“ zu fahren. Um zur Zahl ‘2‘ zu navigieren, muss der VR-Roboter stattdessen nach rechts abbiegen, vorwärts fahren und dann nach links abbiegen.
-
Ändern Sie die Richtung des zweiten Befehls turn_for von links nach rechts. 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) while not left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop()
- 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 zur Zahl „2“ fährt, aber an einer Wand stehen bleibt. Daher muss der VR-Roboter nach links abbiegen, sobald er gegen die Wand drückt, anstatt anzuhalten.
-
Wählen Sie die Schaltfläche "Reset", um den Spielplatz zurückzusetzen und den VR-Roboter zurück in die Ausgangsposition zu bewegen.
-
Bearbeiten Sie den Code, indem Sie den Stoppbefehl entfernen und ihn durch die folgenden Befehle ersetzen, um den VR-Roboter auf die Nummer ‘2‘ zu fahren.
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) 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 (LEFT, 90, DEGREES) while not left_bumper.pressed (): drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop()
- 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 zur Nummer ‘2’ auf dem Wall Maze Playground fährt!
- Wählen Sie die Schaltfläche "Reset", um den Spielplatz zurückzusetzen und den VR-Roboter zurück in die Ausgangsposition zu bewegen.
Wählen Sie die Schaltfläche Weiter um mit dem Rest dieser Lektion fortzufahren.