Μάθημα 3: Ροή έργου με πολλαπλούς βρόχους While
Τώρα που έχετε δημιουργήσει ένα έργο κειμένου για να πλοηγηθείτε με το Ρομπότ Εικονικής Πραγματικότητας (VR) στο γράμμα «A» στον Λαβύρινθο Wall Maze Playground, θα επεκτείνετε τις δεξιότητές σας χρησιμοποιώντας υποθετικές εκφράσεις και τιμές αισθητήρων. Σε αυτό το μάθημα, θα πλοηγηθείτε με το ρομπότ εικονικής πραγματικότητας στον αριθμό «2» στον λαβύρινθο τοίχου παιδική χαράκαι, στη συνέχεια, θα εξερευνήσετε γιατί χρειάζονται πρόσθετες εντολές για να οδηγήσετε μέχρι το γράμμα «B». Στη μίνι-πρόκληση, θα εφαρμόσετε αυτές τις δεξιότητες για να πλοηγηθείτε από την αρχή του Λαβύρινθου του Τοίχου μέχρι τον αριθμό «3».

Μαθησιακά Αποτελέσματα
- Περιγράψτε τη ροή του προγράμματος σε ένα έργο που έχει ένα ρομπότ εικονικής πραγματικότητας να κινείται προς τα εμπρός μέχρι να πατηθεί ο αισθητήρας προφυλακτήρα.
Μετονομάστε το Έργο
- Εάν το έργο του προηγούμενου μαθήματος δεν έχει φορτωθεί ήδη, φορτώστε το έργο Unit4Lesson2.
-
Μετονομάστε το έργο Unit4Lesson3.

Ροή του έργου για να οδηγήσετε μέχρι το γράμμα 'Α'
Στο προηγούμενο μάθημα, το Ρομπότ Εικονικής Πραγματικότητας οδήγησε μέχρι το γράμμα «Α» στον Λαβύρινθο Τοίχου Παιδική Χαρά. Ας αναλύσουμε τη ροή του έργου καθώς προετοιμαζόμαστε να πλοηγηθούμε σε μια νέα τοποθεσία στον Λαβύρινθο του Τοίχου.

-
Για να κατανοήσετε καλύτερα τη ροή του έργου για την οδήγηση προς το γράμμα «A» στον Wall Maze Playground, ξεκινήστε τροποποιώντας το προηγούμενο έργο σας ή δημιουργήστε ένα νέο έργο που να ταιριάζει με αυτό το βασικό έργο.
def main(): ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - Όταν ένα έργο χρησιμοποιεί έναν βρόχο whileμε συνθήκη not , η ροή προγράμματος του έργου ακολουθεί την ίδια ακολουθία από πάνω προς τα κάτω. Ο βρόχος whileεπιτρέπει στη ροή του προγράμματος να «σταματά» σε ένα συγκεκριμένο σημείο, εφόσον πληρούται μια συνθήκη. Ο τελεστήςόχιεπιτρέπει στο έργο να παραμείνει στον βρόχο μέχρι η συνθήκη να αναφερθεί ως False. Στη συνέχεια, το έργο θα προχωρήσει στην επόμενη εντολή εκτός του βρόχου. Μια λογική συνθήκη, όπως το πάτημα του αριστερού bumper, θα αναφέρει μια τιμή True ή False. Σε αυτόν τον κώδικα για την οδήγηση του ρομπότ VR στο γράμμα «A», το ρομπότ VR θα κινηθεί προς τα εμπρός μέχρι η λογική συνθήκη του αριστερού προφυλακτήρα που πατιέται να είναι True.
Η ροή έργου για την οδήγηση στο γράμμα «A» θα μοιάζει με αυτήν:
Η συμπεριφορά του ρομπότ VR δείχνει πώς εκτελείται κάθε βρόχοςενώ. Αναλυόμενη παράλληλα με την κίνηση του ρομπότ VR, μπορούμε να δούμε ξεκάθαρα πού έχει οδηγήσει το ρομπότ VR μετά από κάθεκατά την εκτέλεση του βρόχουστο έργο.
Οδηγήστε μέχρι τον αριθμό '2'
Σε αυτό το μάθημα, το έργο θα υποστεί επεξεργασία ώστε το ρομπότ εικονικής πραγματικότητας να οδηγεί μέχρι τον αριθμό '2' στον λαβύρινθο τοίχου παιδική χαρά!

-
Το έργο από το Μάθημα 2 έχει το ρομπότ εικονικής πραγματικότητας να στρίβει αριστερά για να οδηγήσει μέχρι το γράμμα «A». Για να πλοηγηθεί στον αριθμό «2», το ρομπότ εικονικής πραγματικότητας θα πρέπει να στρίψει δεξιά, να οδηγήσει προς τα εμπρός και στη συνέχεια να στρίψει αριστερά.

-
Αλλάξτε την κατεύθυνση της δεύτερης εντολής turn_forπρος τα δεξιά αντί για τα αριστερά. Το έργο σας θα πρέπει τώρα να μοιάζει με αυτό:
def main(): ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(ΜΠΡΟΣΤΑ) wait(5, MSEC) drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ) ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(ΜΠΡΟΣΤΑ) wait(5, MSEC) drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ) ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(ΜΠΡΟΣΤΑ) wait(5, MSEC) drivetrain.stop() - Εκκινήστε το Wall Maze Playground εάν δεν είναι ήδη ανοιχτό και εκτελέστε το έργο.
-
Παρακολουθήστε το ρομπότ εικονικής πραγματικότητας να αρχίζει να οδηγεί προς τον αριθμό «2», αλλά να σταματάει σε έναν τοίχο. Έτσι, το ρομπότ εικονικής πραγματικότητας (VR) πρέπει να στρίψει αριστερά μόλις πιέσει τον τοίχο αντί να σταματήσει.

-
Επιλέξτε το κουμπί «Επαναφορά» για να επαναφέρετε την Παιδική Χαρά και να μετακινήσετε το Ρομπότ Εικονικής Πραγματικότητας (VR) πίσω στην αρχική του θέση.

-
Επεξεργαστείτε τον κώδικα αφαιρώντας την εντολή stop και αντικαθιστώντας την με τις ακόλουθες εντολές, προκειμένου να οδηγήσετε το ρομπότ εικονικής πραγματικότητας στον αριθμό '2'.
def main(): ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(ΜΠΡΟΣΤΑ) wait(5, MSEC) drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ) ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(ΜΠΡΟΣΤΑ) wait(5, MSEC) drivetrain.turn_for(ΔΕΞΙΑ, 90, ΜΟΙΡΕΣ) ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(ΜΠΡΟΣΤΑ) wait(5, MSEC) drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ) ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(ΜΠΡΟΣΤΑ) wait(5, MSEC) drivetrain.turn_for(ΑΡΙΣΤΕΡΑ, 90, ΜΟΙΡΕΣ) ενώ δεν είναι left_bumper.pressed(): drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.stop() - Εκκινήστε το Wall Maze Playground εάν δεν είναι ήδη ανοιχτό και εκτελέστε το έργο.
-
Παρακολουθήστε το ρομπότ εικονικής πραγματικότητας να οδηγεί προς τον αριθμό '2' στον λαβύρινθο τοίχου χαρά!

- Επιλέξτε το κουμπί «Επαναφορά» για να επαναφέρετε την Παιδική Χαρά και να μετακινήσετε το Ρομπότ Εικονικής Πραγματικότητας (VR) πίσω στην αρχική του θέση.
Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.