Lektion 3: Wenn die Farbe Rot erkannt wird
Es gibt keine Befehle, die dem VR-Roboter sagen, was er tun soll, sobald er die Farbe Rot erkennt. Um den roten Rand zu vermeiden, sollte der VR-Roboter umkehren und sich drehen, sobald er die Farbe Rot erkennt, wie es in diesem Video der Fall ist.
-
Fügen Sie am Ende der while-Schleife einen Kommentar hinzu, um anzugeben, was passieren soll, wenn der Down Eye Sensor den roten Rand erkennt. Ihr Projekt sollte nun so aussehen:
def main(): # Suchen Sie nach einem Gebäude, während der rote Rand nicht erkannt wird, während nicht down_eye.detect (ROT): # Erkennt der Abstandssensor eine Burg? if front_distance.found_object(): # Durch Abstandssensor-Antriebsstrang erkannte Aufprallburg.drive ( VORWÄRTS) else: # Drehen, um eine Burg mit dem Abstandssensor-Antriebsstrang zu finden.drehen ( RECHTS) warten(5, MS) # Rückwärts und drehen, wenn rote Grenze erkannt -
Fügen Sie einen drive_for und turn_for-Befehle unter dem Kommentar hinzu, damit der VR-Roboter rückwärts fahren und sich drehen kann, sobald der Down Eye Sensor die Farbe Rot erkennt.
def main(): # Suchen Sie nach einem Gebäude, während der rote Rand nicht erkannt wird, während nicht down_eye.detect (ROT): # Erkennt der Abstandssensor eine Burg? wenn front_distance.found_object(): # Aufprallschloss erkannt durch Abstandssensor antriebsstrang.antrieb ( VORWÄRTS) sonst: # Drehen, um ein Schloss zu finden mit dem Abstandssensor antriebsstrang.drehen (RECHTS) warten(5, MS) # Rückwärts und drehen, wenn rote Grenze erkannt antriebsstrang.antrieb_für(RÜCKWÄRTS, 300, MM) antriebsstrang.drehen_für(RECHTS, 90, GRAD) - Öffne den Dynamic Castle Crasher Playground , wenn er noch nicht geöffnet ist, und führe das Projekt aus. Verhält sich der VR-Roboter so, wie Sie es beabsichtigt haben?
- Wenn dieses Projekt ausgeführt wird, werden zwei Bedingungen überprüft. Der erste ist der Zustand des Down Eye Sensors, der die Farbe Rot innerhalb der while-Schleife erkennt. Beachten Sie, dass der Projektablauf NUR dann zum nächsten Zustand eines erkannten Objekts wechselt , wenn der Down Eye Sensor die Farbe Rot nicht sieht. Wenn der Down Eye Sensor Rot erkennt, überspringt der Projektablauf die if else -Anweisung und springt zum Rückwärtsfahren und Abbiegen.

- Die zweite Bedingung, die überprüft wird, ist die if else -Anweisung. Während der Down Eye Sensor kein Rot erkennt, wird das Projekt in der while-Schleife fortgesetzt, um den Zustand des Abstandssensors zu überprüfen. Der VR-Roboter verwendet die Daten des Abstandssensors, um eine Entscheidung zu treffen, vorwärts zu fahren oder rechts abzubiegen.

-
Sobald der Down Eye Sensor jedoch die Farbe Rot erkennt, fährt der VR-Roboter rückwärts, dreht sich und stoppt dann, da dies das Ende des Projektablaufs ist. Es wird keine Schleife verwendet, um die Verhaltensweisen erneut zu wiederholen.

Hinzufügen einer unendlichen while-Schleife
-
Eine unendliche while-Schleife ist erforderlich, damit sich die Verhaltensweisen in einer Schleife wiederholen. Ziehen oder geben Sie eine while-Schleife oben im Projekt ein, und legen Sie die Bedingung auf True fest, um eine unendliche Schleife zu erstellen. Kopieren Sie dann den vorherigen Code und fügen Sie ihn in die Endlosschleife ein. Stellen Sie sicher, dass die Befehle unter den richtigen Kopfzeilen richtig eingerückt sind, da das Projekt sonst möglicherweise nicht wie erwartet ausgeführt wird. Ihr Projekt sollte nun so aussehen:
def main(): while True: # Suchen Sie nach einem Gebäude, während der rote Rand nicht erkannt wird, während nicht down_eye.detect (RED): # Erkennt der Abstandssensor eine Burg? wenn front_distance.found_object(): # Aufprallschloss erkannt durch Abstandssensor antriebsstrang.antrieb ( VORWÄRTS) sonst: # Drehen, um ein Schloss zu finden mit dem Abstandssensor antriebsstrang.drehen (RECHTS) warten(5, MS) # Rückwärts und drehen, wenn rote Grenze erkannt antriebsstrang.antrieb_für(RÜCKWÄRTS, 300, MM) antriebsstrang.drehen_für(RECHTS, 90, GRAD) - Öffne den Dynamic Castle Crasher Playground , wenn er noch nicht geöffnet ist, und führe das Projekt aus. Verhält sich der VR-Roboter wie von Ihnen beabsichtigt?
-
Wenn dieses Projekt ausgeführt wird, fährt der VR-Roboter auf eine erkannte Burg zu und biegt rechts ab, wenn keine Burgen gemeldet werden. Sobald der Down Eye Sensor die Farbe Rot erkennt, fährt der VR-Roboter rückwärts, dreht sich und fährt weiter auf eine andere Burg zu.

Fragen
Bitte wählen Sie unten einen Link aus, um auf das Lektionsquiz zuzugreifen.
Google Doc / .docx / .pdf