Μάθημα 3: Προσθήκη του αισθητήρα ματιού προς τα κάτω
Στο προηγούμενο μάθημα, ο αισθητήρας απόστασης χρησιμοποιήθηκε για να προσδιοριστεί εάν το ρομπότ εικονικής πραγματικότητας ανίχνευσε ένα αντικείμενο ή όχι, και εάν ναι, κινήθηκε προς τα εμπρός προς το αντικείμενο. Ωστόσο, δεν χρησιμοποιήθηκαν τιμές αισθητήρων για να προσδιοριστεί εάν το ρομπότ εικονικής πραγματικότητας (VR) βρισκόταν κοντά στην άκρη της παιδικής χαράς για να το σταματήσει. Αν σταματήσετε το ρομπότ εικονικής πραγματικότητας (VR) όταν αυτό βρισκόταν κοντά στην άκρη της παιδικής χαράς, αυτό θα το εμπόδιζε να βγει από το πλάι.
Όπως έχει, το έργο επαναλαμβάνει τις συμπεριφορές της κίνησης προς τα εμπρός και της στροφής, για πάντα. Ωστόσο, δεν υπάρχει καμία προϋπόθεση για έλεγχο του κόκκινου περιγράμματος γύρω από την Παιδική Χαρά. Έτσι, το ρομπότ εικονικής πραγματικότητας μπορεί να πέσει από την παιδική χαρά όταν κινείται προς τα εμπρός.

Προσθήκη του αισθητήρα κάτω ματιού
Χρειάζεται ένας ακόμη αισθητήρας για να μπορεί το ρομπότ εικονικής πραγματικότητας να προσδιορίσει εάν βρίσκεται κοντά στην άκρη της παιδικής χαράς ή όχι. Ο αισθητήρας Down Eye μπορεί να χρησιμοποιηθεί για να προσδιορίσει εάν το ρομπότ εικονικής πραγματικότητας βρίσκεται κοντά στην άκρη της παιδικής χαράς, ανιχνεύοντας το κόκκινο περίγραμμα γύρω από την παιδική χαρά.
Οι συμπεριφορές της κίνησης προς τα εμπρός και της στροφής χρειάζεται να επαναληφθούν μόνο μέχρι ο αισθητήρας Down Eye να αναφέρει ότι έχει ανιχνευθεί το κόκκινο περίγραμμα. Έτσι, ο άπειρος βρόχος ενώ μπορεί να αντικατασταθεί με έναν βρόχο ενώμε συνθήκη όχι , προκειμένου να επαναληφθούν οι συμπεριφορές της κίνησης προς τα εμπρός και της στροφής μέχρι να ικανοποιηθεί η συνθήκη ανίχνευσης του κόκκινου περιγράμματος.
-
Φορτώστε το έργο Unit9Lesson2 από το προηγούμενο μάθημα.
def main(): while True: # Εντοπίζει ο αισθητήρας απόστασης ένα κάστρο; if front_distance.found_object(): # Ανιχνεύτηκε κάστρο σύγκρουσης από τον αισθητήρα απόστασης drivetrain.drive(FORWARD) else: # Στρίψτε για να βρείτε ένα κάστρο χρησιμοποιώντας τον αισθητήρα απόστασης drivetrain.turn(RIGHT) wait(5, MSEC) - Μετονομάστε το έργο Μονάδα9Μάθημα3.

-
Προσθέστε ένα σχόλιο για να σημειώσετε πώς θα χρησιμοποιηθεί ο βρόχος whileμε τον αισθητήρα Down Eye. Το έργο σας θα πρέπει τώρα να μοιάζει με αυτό:
def main(): # Αναζητά κτίριο ενώ δεν ανιχνεύεται το κόκκινο περίγραμμα ενώ True: # Εντοπίζει ο αισθητήρας απόστασης κάποιο κάστρο; if front_distance.found_object(): # Ανιχνεύτηκε κάστρο σύγκρουσης από τον αισθητήρα απόστασης drivetrain.drive(FORWARD) else: # Στρίψτε για να βρείτε ένα κάστρο χρησιμοποιώντας τον αισθητήρα απόστασης drivetrain.turn(RIGHT) wait(5, MSEC) -
Απαιτείται εντολή για τον συνεχή έλεγχο του αισθητήρα Down Eye. ρομπότ εικονικής πραγματικότηταςVRθα χρειαστεί να αυτέςσυμπεριφορές ενώ ο αισθητήρας ματιού ανιχνεύει το κόκκινο χρώμα. Αλλάξτε τη συνθήκη βρόχου while τοποθετώντας τη λέξη-κλειδί notμπροστά από τη συνθήκη. Το έργο σας θα πρέπει τώρα να μοιάζει με αυτό:
def main(): # Αναζητήστε κτίριο ενώ δεν ανιχνεύεται το κόκκινο περίγραμμα ενώ δεν είναι True: # Εντοπίζει ο αισθητήρας απόστασης κάποιο κάστρο; if front_distance.found_object(): # Ανιχνεύτηκε κάστρο σύγκρουσης από τον αισθητήρα απόστασης drivetrain.drive(FORWARD) else: # Στρίψτε για να βρείτε ένα κάστρο χρησιμοποιώντας τον αισθητήρα απόστασης drivetrain.turn(RIGHT) wait(5, MSEC) -
Στη συνέχεια, αλλάξτε τη συνθήκη από True στην εντολή down_eye.detect. Ορίστε την παράμετρο σε «ΚΟΚΚΙΝΟ». Το έργο σας θα πρέπει τώρα να μοιάζει με αυτό:
def main(): # Αναζητήστε κτίριο ενώ δεν ανιχνεύεται το κόκκινο περίγραμμα ενώ δεν ανιχνεύεται down_eye.detect(RED): # Εντοπίζει ο αισθητήρας απόστασης κάποιο κάστρο; if front_distance.found_object(): # Ανιχνεύτηκε κάστρο σύγκρουσης από τον αισθητήρα απόστασης drivetrain.drive(FORWARD) else: # Στρίψτε για να βρείτε ένα κάστρο χρησιμοποιώντας τον αισθητήρα απόστασης drivetrain.turn(RIGHT) wait(5, MSEC) - Ανοίξτε το Dynamic Castle Crasher Playground εάν δεν είναι ήδη ανοιχτό και εκτελέστε το έργο. Συμπεριφέρεται το ρομπότ εικονικής πραγματικότητας όπως το είχατε σχεδιάσει;
-
Όταν εκτελείται αυτό το έργο, το ρομπότ εικονικής πραγματικότητας θα κινείται προς ένα ανιχνευμένο αντικείμενο και θα στρίβει δεξιά διαφορετικά. Ωστόσο, παρόλο που ο αισθητήρας Down Eye αναζητά το κόκκινο περίγραμμα, το ρομπότ εικονικής πραγματικότητας (VR) δεν λαμβάνει οδηγίες τι να κάνει μόλις ανιχνεύσει το κόκκινο, επομένως συνεχίζει να οδηγεί και τελικά πέφτει από την παιδική χαρά.

Μόλις ικανοποιηθεί η συνθήκη του βρόχου while, η ροή του έργου θα εκτελεστεί εκτός του βρόχου while.
Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.