Lektion 3: Hinzufügen des Down-Eye-Sensors
In der vorherigen Lektion wurde der Abstandssensor verwendet, um festzustellen, ob der VR-Roboter ein Objekt erkannt hat oder nicht, und wenn ja, fuhr er vorwärts auf das Objekt zu. Es wurden jedoch keine Sensorwerte verwendet, um festzustellen, ob sich der VR-Roboter in der Nähe des Randes des Spielplatzes befand, um ihn zu stoppen. Das Anhalten des VR-Roboters, wenn er sich in der Nähe des Randes des Spielplatzes befand, würde verhindern, dass er von der Seite wegfährt.
So wie es ist, wiederholt das Projekt die Verhaltensweisen des Vorwärtsfahrens und Wendens für immer. Es gibt jedoch keine Bedingung, um nach dem roten Rand um den Spielplatz zu suchen. So kann der VR-Roboter beim Vorwärtsfahren vom Spielplatz fallen.

Hinzufügen des Down-Eye-Sensors
Ein weiterer Sensor wird benötigt, damit der VR-Roboter feststellen kann, ob er sich in der Nähe des Spielplatzrandes befindet oder nicht. Der Down Eye Sensor kann verwendet werden, um festzustellen, ob sich der VR-Roboter in der Nähe des Randes des Spielplatzes befindet, indem der rote Rand um den Spielplatz erkannt wird.
Das Verhalten des Vorwärtsfahrens und Drehens muss nur wiederholt werden, bis der Down Eye Sensor meldet, dass die rote Grenze erkannt wird. Somit kann die unendliche while-Schleife durch eine while-Schleife mit einer NICHT-Bedingung ersetzt werden , um die Verhaltensweisen des Vorwärtsfahrens und Drehens zu wiederholen, bis die Bedingung des Erkennens der roten Grenze erfüllt ist.
-
Laden Sie das Unit9Lesson2-Projekt aus der vorherigen Lektion.
def main(): while True: # Erkennt der Abstandssensor eine Burg? wenn front_distance.found_object(): # Aufprallschloss vom Abstandssensor Antriebsstrang erkannt.antreiben ( VORWÄRTS) sonst: # Drehen, um ein Schloss mit dem Abstandssensor Antriebsstrang zu finden.drehen(RECHTS) warten(5, MS)
- Benennen Sie das Projekt Unit9Lesson3 um.
-
Fügen Sie einen Kommentar hinzu, um zu vermerken, wie die while-Schleife mit dem Down Eye Sensor verwendet wird. Ihr Projekt sollte nun so aussehen:
def main(): # Suchen Sie nach einem Gebäude, während der rote Rand nicht erkannt wird, während True: # Erkennt der Abstandssensor eine Burg? wenn front_distance.found_object(): # Aufprallschloss vom Abstandssensor Antriebsstrang erkannt.antreiben ( VORWÄRTS) sonst: # Drehen, um ein Schloss mit dem Abstandssensor Antriebsstrang zu finden.drehen(RECHTS) warten(5, MS)
-
Ein Befehl ist erforderlich, um den Down Eye Sensor kontinuierlich zu überprüfen. Der VR-Roboter muss diese Verhaltensweisen wiederholen, während der Down Eye Sensor die Farbe Rot nicht erkennt. Ändern Sie die while-Schleifenbedingung, indem Sie das NOT-Schlüsselwort vor die Bedingung setzen. 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 wahr: # Erkennt der Abstandssensor eine Burg? wenn front_distance.found_object(): # Aufprallschloss vom Abstandssensor Antriebsstrang erkannt.antreiben ( VORWÄRTS) sonst: # Drehen, um ein Schloss mit dem Abstandssensor Antriebsstrang zu finden.drehen(RECHTS) warten(5, MS)
-
Ändern Sie dann die Bedingung von True in den Befehl down_eye.detect. Setzen Sie den Parameter auf 'ROT'. 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? wenn front_distance.found_object(): # Aufprallschloss vom Abstandssensor Antriebsstrang erkannt.antreiben ( VORWÄRTS) sonst: # Drehen, um ein Schloss mit dem Abstandssensor Antriebsstrang zu finden.drehen(RECHTS) warten(5, MS)
- Ö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, fährt der VR-Roboter auf ein erkanntes Objekt zu und biegt andernfalls nach rechts ab. Obwohl der Down Eye Sensor nach der roten Grenze sucht, wird dem VR-Roboter nicht gesagt, was er tun soll, sobald er Rot erkennt, also fährt er weiter und fällt schließlich vom Spielplatz.
Sobald die Bedingung der while-Schleife erfüllt ist, wird der Projektablauf außerhalb der while-Schleife ausgeführt.
Wählen Sie die Schaltfläche Weiter um mit dem Rest dieser Lektion fortzufahren.