Skip to main content

Lektion 4: Projektablauf mit verschachtelten Schleifen

Sammle die nächsten beiden Festplatten

  • Jetzt, da der VR-Roboter den roten Scheiben gegenübersteht, muss der VR-Roboter die gleichen Verhaltensweisen wiederholen, die zum Sammeln der blauen Scheibe verwendet wurden, um die rote Scheibe aufzunehmen und zu bewegen. Die Verhaltensweisen beim Vorwärtsfahren, um die Festplatte aufzunehmen, sich umzudrehen und zum gleichen farbigen Ziel zurückzukehren, um die Festplatte abzulegen.

    Draufsicht auf den Disk Mover Playground mit gepunkteten Pfeilen, die den Weg des VR-Roboters vom roten Ziel anzeigen, um die rote Scheibe zu sammeln und ins Ziel zu legen, und dann nach rechts zeigen, um zum grünen Ziel zu gelangen.
  • Sobald die erste rote Scheibe bewegt wurde, muss der VR-Roboter zum grünen Ziel fahren und die gleichen Aktionen ausführen, die zum Verschieben der blauen und roten Scheibe verwendet wurden, um die erste grüne Scheibe zu verschieben.

    Draufsicht auf den Disk Mover Playground am Anfang, mit gepunkteten Pfeilen, die den Weg anzeigen, den der Roboter bewegen muss, um jede Disk zu sammeln. Pfeile zeigen zu und von jedem Ziel auf die erste Scheibe, und zusätzliche Pfeile nach rechts zeigen zwischen jedem der Zielbereiche.
  • Um Verhaltensweisen mehrfach zu wiederholen, kann eine for-Schleife verwendet werden.
    VEXcode VR Python für Loop-Befehl innerhalb der Hauptdefinition. Der Befehl liest für Wert im Bereich mit einem 10 in Klammern Doppelpunkt in der ersten Zeile, dann eingerückt unter einem Wartebefehl liest warten mit 5, MS in Klammern.
  • Fügen Sie oben im Projekt über dem ersten Kommentar eine for-Schleife hinzu und setzen Sie den Parameter für die Bereichsfunktion auf „3“. Stellen Sie sicher, dass die for-Schleife innerhalb der Hauptdefinition eingerückt ist.

    def main():
        für repeat_count im Bereich(3):
            wait(5, MS)
  • Um den Code in die  for-Schleife zu kopieren, muss sorgfältig auf die Einrückung geachtet werden. Fügen Sie zuerst Leerzeichen vor dem  Wartebefehl hinzu, damit die Schleife wie folgt aussieht:

    def main():
        für repeat_count im Bereich(3):
    
    
            
            wait(5, MS)
  • Wählen Sie als Nächstes die Befehle aus, die in die  for-Schleife eingefügt werden sollen, und kopieren Sie sie und fügen Sie sie über dem  Wartebefehl ein Beachten Sie, dass die Einrückung nach dem einfachen Kopieren und Einfügen falsch ist. Die graue Anzeigezeile der for -Schleife ist unterbrochen und vom Wait -Befehl getrennt. Dies ist ein visueller Hinweis, dass Ihr Projekt nicht wie beabsichtigt ausgeführt wird.Das Projekt von oben, Kopie in die for-Schleife eingefügt, mit falscher Einrückung. Die korrekte Einrückung wird im nächsten Codeblock angezeigt.
  • Wählen Sie die Befehle innerhalb der for -Schleife aus und verwenden Sie 'Tab', um die Befehle innerhalb der Schleife korrekt einzuziehen. Bei korrekter Einrückung sollte die graue Indikatorlinie die for -Schleife mit dem wait  -Befehl verbinden, um die Grenzen der äußeren Schleife anzuzeigen. Nach Abschluss sollte Ihr Projekt wie folgt aussehen: 

    def main():
        für repeat_count im Bereich(3):
            # 1. Drive to disk using Down Eye Sensor
            while not down_eye.near_object():
                drivetrain.drive(FORWARD)
                wait(5, MSEC
            )drivetrain.stop ()
    
            # 2. Nimm den Scheibenmagneten
            auf. Errege (BOOST)
    
            # 3. Fahren Sie mit Distance Sensor drivetrain.turn_to_heading
            (180, DEGREES) zum Ziel,
            während front_distance.get_distance (MM) > 200
                : drivetrain.drive (FORWARD)
                wait(5, MSEC)
            drivetrain. stop()
    
            # 4. Scheibe ins Tor fallen
            lassenMagnet.Energieren (FALLEN
            LASSEN) Antriebsstrang.antreiben_für (RÜCKWÄRTS, 100, MM)
    
            # 5. Drehen und fahren Sie zum nächsten
            ZielAntriebsstrang.drehen_zu_Kopf (90, GRAD
            )Antriebsstrang.antreiben_für (VORWÄRTS, 800, MM)
    
            # 6. Drehen Sie auf
            DisksDrivetrain.turn_to_heading (0, GRAD)  
    
        wait(5, MS)
  • Sehen Sie sich das Video unten an, um zu sehen, wie Sie die Befehle verschieben und die Einrückung wie oben beschrieben anpassen können. Im Videoclip werden die sechs Kommentarbereiche des Projekts hervorgehoben und das Kontextmenü geöffnet. Die Option "Ausschneiden" wird ausgewählt, und dann wird der Cursor unterhalb des Befehls für die Schleife platziert. Das Kontextmenü wird erneut geöffnet und „Einfügen“ ausgewählt. Die Befehle befinden sich dann innerhalb der for-Schleife, sind aber falsch eingerückt. Die sechs Kommentarabschnitte werden erneut hervorgehoben und „Tab“ auf der Tastatur gedrückt, um das Projekt innerhalb der Schleife korrekt einzuziehen.
Videodatei
  • Öffnen Sie den Disk Mover Playground , wenn er noch nicht geöffnet ist, und führen Sie das Projekt aus.
  • Wenn dieses Projekt ausgeführt wird, nimmt der VR-Roboter eine Festplatte jeder Farbe auf und legt sie in das entsprechende farbige Ziel.

    Eine Draufsicht auf den VR-Roboter am Ende des Projekts, mit einer von jeder Farbscheibe im passenden Ziel, und dem VR-Roboter, der der rechten Seitenwand am Rand des grünen Ziels in der unteren rechten Ecke zugewandt ist.

Zur Kenntnisnahme

Beachten Sie, dass der VR-Roboter weiter in die Wand fuhr. Dieses Verhalten wird erwartet, da das Projekt den VR-Roboter anwies, dreimal rechts abzubiegen und zum nächsten Ziel zu fahren. Das erste Mal fährt man von blau nach rot. Das zweite ist von rot nach grün, und das dritte ist von grün in die Wand, da es kein anderes farbiges Tor gibt. Stoppen Sie das Projekt, sobald der VR-Roboter an der Wand anschlägt. Das Projekt könnte verbessert werden, so dass der VR-Roboter stoppt, nachdem er die grüne Scheibe aufgenommen und bewegt hat, aber dies würde die Gesamtkomplexität des Projekts erhöhen.

Eine Ansicht des VR-Roboters von oben nach unten am Ende des Projekts, wobei die Schaltfläche Stop im Playground-Fenster in der linken Ecke hervorgehoben ist. Auf dem Spielplatz eine von jeder Farbscheibe im passenden Tor und der VR-Roboter mit Blick auf die rechte Seitenwand in der Mitte des grünen Tores, wenn die Stopptaste gedrückt wurde.

 

 

Fragen

Bitte wählen Sie unten einen Link aus, um auf das Lektionsquiz zuzugreifen.

Google Doc / .docx / .pdf