Lektion 2: Zusammenfassung nach dem Projekt
Der [If then else] -Block wird verwendet, damit der VR-Roboter eine Entscheidung treffen kann. Wenn die boolesche Bedingung WAHR ist, werden die Blöcke innerhalb des Zweigs "Wenn dann" ausgeführt. Wenn die boolesche Bedingung FALSCH ist, werden die Blöcke innerhalb des Zweigs ‘Else’ ausgeführt.

In diesem Projekt fuhr der VR-Roboter auf ein Gebäude zu, als der Abstandssensor ein Objekt erkannte und der <Distance found object> Block als WAHR gemeldet wurde. Dies wies den Zweig "Wenn dann" des Projekts an, zu laufen. Dieser Zweig enthält den Block [Antrieb]. Der VR-Roboter überspringt dann den Zweig "Else" des Projekts.

Da der [If then else] -Block innerhalb eines [Forever] -Blocks platziert wird, kehrt das Projekt an die Spitze des [Forever] -Blocks zurück, um den Zustand des [If then else] -Blocks zu überprüfen. Diese Schleife wird für immer andauern und den VR-Roboter anweisen, den Zustand [Wenn dann] hunderte Male pro Sekunde kontinuierlich zu überprüfen.
Beachten Sie, dass die Blöcke [Drive] und [Turn] innerhalb des Blocks [If then else] nicht wartende Blöcke sind. Nicht wartende Blöcke stoppen den Fluss eines Projekts nicht, während sie ausgeführt werden. Ein Nicht-Warten-Verhalten, das in einem [Wenn sonst] -Block ausgeführt wird (z. B. Vorwärtsfahren, wenn Objekt erkannt wird), wird fortgesetzt, während die Bedingung überprüft wird, und ändert sich nur, wenn sich die Bedingung ändert.

Wenn der <Distance found object> Block als FALSCH meldet, wird der Zweig ‘Else’ des Projekts ausgeführt. Der Zweig ‘Else’ enthält den Block [Turn].

Zur Kenntnisnahme
[If then else] -Blöcke werden verwendet, um sicherzustellen, dass nur eine Zweigstelle im Projekt ausgeführt wird, wenn die Bedingung überprüft wird. Nur eine Instanz oder Bedingung kann jederzeit wahr sein. Das macht das Projekt effizienter.

Vergleichen Sie das aktuelle Projekt mit dem in Einheit 7 erstellten Projekt. Das Projekt Unit 7 verwendet vier [If then] -Blöcke.

Wenn ein Projekt mit mehreren [If then] -Blöcken durchlaufen wird, könnte es möglich sein, dass mehrere Bedingungen als WAHR gemeldet werden und das Projekt die Befehle im [Forever] -Block durchläuft. In diesem Projekt können beide Bedingungen während derselben [Forever] -Schleife als WAHR gemeldet werden. Konflikte wie diese könnten dazu führen, dass das Projekt nicht mehr oder langsamer läuft.

Die Verwendung eines [If then else] -Blocks würde solche Fehler vermeiden, da mit diesem Block zu einem bestimmten Zeitpunkt nur eine Bedingung ERFÜLLT sein kann.

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