Lektion 2: Fahren Sie zu grünen und dann zu blauen Festplatten
Auf grüne und dann auf blaue Festplatten fahren
- Im vorherigen Projekt muss der VR-Roboter nach rechts abbiegen, wenn der Front Eye Sensor eine grüne Scheibe erkennt. Bauen Sie nun ein Projekt auf, bei dem der VR-Roboter auf vier Festplatten auf dem Disk Maze Playground läuft.
-
Das Ziel ist es, ein konsistentes Muster zu erstellen, bei dem sich der VR-Roboter nach rechts dreht, wenn der Front Eye Sensor eine grüne Scheibe erkennt, und nach links, wenn der Front Eye Sensor eine blaue Scheibe erkennt.
-
Fügen Sie dem bestehenden Projekt den folgenden Block hinzu, um den VR-Roboter anzuweisen, nach dem Rechtsabbiegen vorwärts zu fahren.
-
Fügen Sie eine weitere [Warten bis] hinzu, <Color sensing> wobei der Block so eingestellt ist, dass er "blau" erkennt, da die nächste Festplatte, auf die der VR-Roboter trifft, blau ist.
-
Fügen Sie einen [Turn for] -Block hinzu und setzen Sie den Parameter auf "links".
-
Führen Sie das Projekt aus, um zu sehen, wie sich der VR-Roboter durch den Disk Maze Playground bewegt.
- Beachten Sie, dass sich der VR-Roboter nach rechts dreht, wenn der Front Eye Sensor eine grüne Scheibe erkennt, und sich nach links dreht, wenn der Front Eye Sensor eine blaue Scheibe erkennt.
-
Bauen Sie dieses Projekt weiter auf, um den VR-Roboter mithilfe des Front Eye Sensors zu zwei weiteren Festplatten auf dem Disk Maze Playground zu steuern. Fügen Sie die folgenden Blöcke hinzu, um den VR-Roboter zu den nächsten beiden Festplatten zu navigieren und dann anzuhalten:
-
Beachten Sie, dass es ein Muster gibt. Es gibt eine Reihe von Blöcken, die im Projekt dreimal wiederholt werden. Dieser Codeabschnitt kann mit einem [Repeat] -Block komprimiert werden.
- Öffnen Sie den Disk Maze Playground , wenn er noch nicht geöffnet ist, und führen Sie das Projekt aus.
-
Beobachten Sie, wie der VR-Roboter auf dem Disk Maze Playground zu vier Festplatten navigiert.
- In diesem Projekt fährt der VR-Roboter vorwärts, bis der Front Eye Sensor die Farbe Grün erkennt.
- Der VR-Roboter dreht sich um 90 Grad nach rechts und fährt wieder vorwärts, bis die Farbe Blau erkannt wird.
- Der VR-Roboter dreht sich dann nach links und fährt vorwärts, bis der Vorderaugensensor Blau erkennt. Sobald die Farbe Blau erkannt wird, dreht sich der VR-Roboter wieder nach links.
- Schließlich fährt der VR-Roboter vorwärts, bis der Front Eye Sensor Blau erkennt, und stoppt dann.
- Beachten Sie das Muster, dass sich der VR-Roboter nach rechts dreht, wenn der Front Eye Sensor Grün erkennt. Wenn der Front Eye Sensor blau erkennt, dreht sich der VR-Roboter in diesem Projekt nach links.
Verwenden von Schalterblöcken
Bisher haben Sie ein Projekt erstellt, um auf die grüne Festplatte und dann auf die drei blauen Festplatten zu fahren.
Die folgende Abbildung zeigt das gesamte Projekt unter Verwendung von VEXcode-Blöcken, mit den wiederholten Verhaltensweisen, die verwendet werden, um zu den drei roten blauen Festplatten zu fahren.
Das folgende Projekt zeigt dieselben VEXcode-Blöcke, die in mehrere Switch-Blöcke umgewandelt wurden.
Dieses letzte Projekt zeigt die gleichen Switch-Blockbefehle, die in Python-Befehle innerhalb eines Switch-Blocks konvertiert wurden.
For repeat_count im Bereich(3): ist der Python-Befehl, der dem Roboter mitteilt, dass die nächsten eingerückten Codezeilen dreimal wiederholt werden sollten. Beachten Sie, dass Sie nach der for-Schleife einen Doppelpunkt (:) einfügen sollten.
Die folgenden Codezeilen sind die Verhaltensweisen, die wiederholt werden. Beachten Sie, dass diese Verhaltensweisen bei einer Standardeinstellung von 4 Leerzeichen eingerückt werden.
Beachten Sie außerdem, dass die Bedingung den Befehl wait (5, MS) enthält. In VEXcode VR wird immer ein wait-Befehl mit der for-Schleife hinzugefügt. Der Zweck des Wait-Befehls besteht darin, sicherzustellen, dass VEXcode VR das Projekt aufgrund der webbasierten Natur der VEXcode VR-Plattform ordnungsgemäß ausführen kann. Der wait -Befehl sollte niemals gelöscht werden, wenn eine for -Schleife verwendet wird, oder Ihr Projekt wird möglicherweise nicht wie beabsichtigt ausgeführt.
Die Zeile wait (5, MSEC) ist unter dem Befehl while not front_eye.detect(BLUE) eingerückt, da der Front Eye Sensor nach der Farbe Blau sucht und zwischen jeder Prüfung eine Pause von 5 MSEC einlegt.
Wählen Sie die Schaltfläche Weiter um mit dem Rest dieser Lektion fortzufahren.