Μάθημα 2: Οδήγηση στους επόμενους δίσκους
Οδηγήστε προς τους Μπλε Δίσκους
Στο προηγούμενο έργο, το ρομπότ εικονικής πραγματικότητας (VR) στρίβει δεξιά όταν ο αισθητήρας μπροστινού ματιού ανιχνεύει έναν πράσινο δίσκο, ο οποίος οδήγησε το ρομπότ εικονικής πραγματικότητας στο πρώτο βήμα του λαβυρίνθου. Τώρα, θα συνεχίσουμε να αναπτύσσουμε το έργο, έτσι ώστε το ρομπότ εικονικής πραγματικότητας να οδηγεί στους πρώτους τέσσερις δίσκους στην παιδική χαρά δίσκους.
Κοιτάζοντας προς τα πού είναι στραμμένο το ρομπότ εικονικής πραγματικότητας (VR) αφού στρίψει δεξιά στον πράσινο δίσκο, μπορούμε να δούμε ότι για να πλοηγηθεί στους επόμενους τρεις μπλε δίσκους, το ρομπότ εικονικής πραγματικότητας (VR) θα πρέπει να κινηθεί προς τα εμπρός και να στρίψει αριστερά σε κάθε μπλε δίσκο. Μπορούμε να χρησιμοποιήσουμε την ίδια λογική του βρόχουwhileμε τη συνθήκηnotγια να κάνουμε το ρομπότ εικονικής πραγματικότητας να συνεχίσει να οδηγεί μέσα στον λαβύρινθο και να στρίψει αριστερά όταν ανιχνεύσει έναν μπλε δίσκο.
- Προσθέστε ένα ακόμη σχόλιο κάτω από το turn_for στο υπάρχον έργο για να περιγράψετε τις επόμενες συμπεριφορές του ρομπότ εικονικής πραγματικότητας. Το έργο σας θα πρέπει να μοιάζει με αυτό:
def main():
# Οδηγήστε μέχρι τον 1ο δίσκο (πράσινο), στρίψτε δεξιά
ενώ δεν είναι ενεργοποιημένο το front_eye.detect(ΠΡΑΣΙΝΟ):
drivetrain.drive(ΜΠΡΟΣΤΑ)
wait(5, MSEC)
drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
# Οδηγήστε μέχρι τον 2ο δίσκο (μπλε), στρίψτε αριστερά- Κάτω από το νέο σχόλιο, προσθέστε έναν ακόμη βρόχο while με συνθήκη not. Ορίστε τη συνθήκη στην εντολή detectκαι ορίστε τις παραμέτρους σε "ΜΠΛΕ", καθώς ο επόμενος δίσκος που θα συναντήσει το ρομπότ εικονικής πραγματικότητας είναι μπλε.
# Οδηγήστε μέχρι τον 2ο δίσκο (μπλε), στρίψτε αριστερά
ενώ δεν έχετε front_eye.detect(BLUE):
wait(5, MSEC)- Μέσα στον βρόχο while , σύρετε ή πληκτρολογήστε την εντολή μη αναμονής drive.
# Οδηγήστε μέχρι τον 2ο δίσκο (μπλε), στρίψτε αριστερά
ενώ δεν έχετε front_eye.detect(ΜΠΛΕ):
drivetrain.drive(ΜΠΡΟΣΤΑ)
wait(5, MSEC)- Σύρετε ή πληκτρολογήστε μια εντολή turn_for και ορίστε τις παραμέτρους σε στροφή αριστερά 90 μοίρες.
# Οδηγήστε μέχρι τον 2ο δίσκο (μπλε), στρίψτε αριστερά
ενώ δεν έχετε front_eye.detect(ΜΠΛΕ):
drivetrain.drive(ΜΠΡΟΣΤΑ)
wait(5, MSEC)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)- Εκτελέστε το έργο για να δείτε πώς κινείται το ρομπότ εικονικής πραγματικότητας (VR) μέσα από την παιδική χαρά Disk Maze.
- Παρατηρήστε ότι το ρομπότ εικονικής πραγματικότητας στρίβει δεξιά όταν ο αισθητήρας μπροστινού ματιού ανιχνεύσει έναν πράσινο δίσκο και στρίβει αριστερά όταν ο αισθητήρας μπροστινού ματιού ανιχνεύσει έναν μπλε δίσκο.
- Συνεχίστε να κατασκευάζετε αυτό το έργο για να οδηγήσετε το Ρομπότ Εικονικής Πραγματικότητας (VR) σε δύο ακόμη μπλε δίσκους στην Παιδική Χαρά με Λαβύρινθο Δίσκου χρησιμοποιώντας τον Αισθητήρα Μπροστινού Ματιού. Προσθέστε εντολές στο έργο, πλοηγηθείτε στο ρομπότ VR στους επόμενους δύο δίσκους και στη συνέχεια σταματήστε. Το πλήρες έργο σας θα πρέπει τώρα να μοιάζει με αυτό:
def main():
# Οδηγήστε στον 1ο δίσκο (πράσινο), στρίψτε δεξιά
ενώ δεν είναι front_eye.detect(ΠΡΑΣΙΝΟ):
drivetrain.drive(ΜΠΡΟΣΤΑ)
wait(5, MSEC)
drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
# Οδηγήστε στον 2ο δίσκο (μπλε), στρίψτε αριστερά
ενώ δεν είναι front_eye.detect(ΜΠΛΕ):
drivetrain.drive(ΜΠΡΟΣΤΑ)
wait(5, MSEC)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
# Οδηγήστε στον 3ο δίσκο (μπλε), στρίψτε αριστερά
ενώ δεν είναι front_eye.detect(ΜΠΛΕ):
drivetrain.drive(ΜΠΡΟΣΤΑ)
wait(5, MSEC)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)
# Οδηγήστε στον 4ο δίσκο (μπλε), στρίψτε αριστερά
ενώ δεν είναι front_eye.detect(ΜΠΛΕ):
σύστημα μετάδοσης κίνησης.οδήγηση(ΜΠΡΟΣΤΑ)
αναμονή(5, MSEC)
σύστημα μετάδοσης κίνησης.στροφή_για(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)Αναγνώριση ενός μοτίβου στις κινήσεις του ρομπότ εικονικής πραγματικότητας
Ο στόχος της επιτυχούς πλοήγησης στον Λαβύρινθο των Δίσκων με τον Αισθητήρα Μπροστινού Ματιού είναι η δημιουργία ενός συνεπούς μοτίβου όπου το Ρομπότ Εικονικής Πραγματικότητας στρίβει δεξιά όταν ο Αισθητήρας Μπροστινού Ματιού ανιχνεύει έναν πράσινο δίσκο και αριστερά όταν ο Αισθητήρας Μπροστινού Ματιού ανιχνεύει έναν μπλε δίσκο. Ο εντοπισμός τέτοιων μοτίβων μπορεί να σας βοηθήσει να απλοποιήσετε τα έργα σας καθώς αυτά αυξάνονται σε πολυπλοκότητα.

Για την ενημέρωσή σας
Παρατηρήστε ότι υπάρχει επίσης ένα μοτίβο στην ακολουθία των εντολών στο έργο. Υπάρχει μια σειρά από εντολές (για τους μπλε δίσκους) που επαναλαμβάνονται τρεις φορές στο έργο. Αυτό το τμήμα κώδικα μπορεί να συμπυκνωθεί χρησιμοποιώντας έναν βρόχο για . Το έργο που παρουσιάζεται εδώ συνδυάζει αυτούς τους τρεις βρόχους ενώ που σχετίζονται με μπλε δίσκους σε έναν μόνο βρόχο για.
def main():
# Οδηγήστε στον 1ο δίσκο (πράσινο), στρίψτε δεξιά
ενώ δεν είναι front_eye.detect(ΠΡΑΣΙΝΟ):
drivetrain.drive(ΜΠΡΟΣΤΑ)
wait(5, MSEC)
drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ)
# Οδηγήστε στους επόμενους 3 δίσκους (μπλε), στρίψτε αριστερά
για τιμή στο range(3):
ενώ δεν είναι front_eye.detect(ΜΠΛΕ):
drivetrain.drive(ΜΠΡΟΣΤΑ)
wait(5, MSEC)
drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ)Η χρήση ενός βρόχουπροςμπορεί να κάνει το έργο σας απλούστερο και πιο ευανάγνωστο, αλλά να περιέχει τις επαναλαμβανόμενες εντολές μέσα σε έναν βρόχο.
- Ανοίξτε το Disk Maze Playground εάν δεν είναι ήδη ανοιχτό και εκτελέστε το έργο.
-
Παρακολουθήστε το ρομπότ εικονικής πραγματικότητας να πλοηγείται σε τέσσερις δίσκους στην παιδική χαρά με τον λαβύρινθο Disk.

- Σε αυτό το έργο, το ρομπότ εικονικής πραγματικότητας (VR) κινείται προς τα εμπρός μέχρι ο αισθητήρας μπροστινού ματιού να ανιχνεύσει το πράσινο χρώμα.
- Το ρομπότ εικονικής πραγματικότητας (VR) στρίβει δεξιά κατά 90 μοίρες και κινείται ξανά προς τα εμπρός μέχρι να ανιχνευθεί το μπλε χρώμα.
- Το ρομπότ εικονικής πραγματικότητας (VR) στρίβει στη συνέχεια αριστερά και κινείται προς τα εμπρός μέχρι ο αισθητήρας μπροστινού ματιού να ανιχνεύσει μπλε χρώμα. Μόλις ανιχνευθεί το μπλε χρώμα, το ρομπότ εικονικής πραγματικότητας στρίβει ξανά αριστερά.
- Τέλος, το ρομπότ εικονικής πραγματικότητας (VR) κινείται προς τα εμπρός μέχρι ο αισθητήρας μπροστινού ματιού να ανιχνεύσει μπλε χρώμα και στη συνέχεια να σταματήσει.
- Παρατηρήστε το μοτίβο ότι όταν ο αισθητήρας μπροστινού ματιού ανιχνεύει πράσινο, το ρομπότ εικονικής πραγματικότητας στρίβει δεξιά. Όταν ο αισθητήρας μπροστινού ματιού ανιχνεύσει μπλε χρώμα, το ρομπότ εικονικής πραγματικότητας στρίβει αριστερά σε αυτό το έργο.
Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.