Skip to main content

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.

    Ein Blick von oben auf den Wall Maze Playground. Der VR-Roboter hat sich vom grünen Startpfeil am Boden des Spielplatzes nach vorne bewegt, bis er gegen eine Wand davor stößt. Sie zeigt jetzt um 90 Grad nach links, also zur Wand links davon.

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.

    Ein Blick von oben auf den Wall Maze Playground. Der VR-Roboter hat sich vom grünen Startpfeil vorwärts bewegt, bis er vorwärts gegangen ist, nach links gebogen ist und wieder vorwärts gegangen ist, bis er die nächste Wand getroffen hat. Es zeigt nun nach seiner Bewegung um 90 Grad nach rechts, was bedeutet, dass es der oberen Wand zugewandt ist.

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!

Eine Ansicht von oben auf den Wandlabyrinth-Spielplatz mit dem VR-Roboter am Startort in der Mitte des Spielplatzes. Der Buchstabe A befindet sich direkt links vom Roboter, getrennt durch eine kurze Wand.

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