Μετάβαση στο κύριο περιεχόμενο

Μάθημα 4: Ροή έργου με ενσωματωμένους βρόχους

Συλλέξτε τους επόμενους δύο δίσκους

  • Τώρα που το ρομπότ εικονικής πραγματικότητας (VR) είναι στραμμένο προς τους κόκκινους δίσκους, θα πρέπει να επαναλάβει τις ίδιες συμπεριφορές που χρησιμοποιήθηκαν για τη συλλογή του μπλε δίσκου, προκειμένου να τον σηκώσει και να τον μετακινήσει. Οι συμπεριφορές της οδήγησης προς τα εμπρός για να παραλάβετε τον δίσκο, της στροφής και της οδήγησης πίσω στον ίδιο έγχρωμο στόχο για να αφήσετε τον δίσκο.

    Κάτοψη της παιδικής χαράς Disk Mover με διακεκομμένα βέλη που υποδεικνύουν τη διαδρομή του ρομπότ εικονικής πραγματικότητας από την κόκκινη εστία για να συλλέξει τον κόκκινο δίσκο και να τον ρίξει στην εστία, και στη συνέχεια να δείχνει προς τα δεξιά για να μετακινηθεί προς την πράσινη εστία.
  • Μόλις μετακινηθεί ο πρώτος κόκκινος δίσκος, το ρομπότ εικονικής πραγματικότητας θα πρέπει να οδηγήσει προς τον πράσινο στόχο και να εκτελέσει τις ίδιες ενέργειες που χρησιμοποιήθηκαν για την κίνηση του μπλε και του κόκκινου δίσκου, για να μετακινήσει τον πρώτο πράσινο δίσκο.

    Κάτοψη της Παιδικής Χαράς Μετακίνησης Δίσκων στην αρχή, με διακεκομμένα βέλη που υποδεικνύουν τη διαδρομή που πρέπει να κινηθεί το ρομπότ για να συλλέξει κάθε Δίσκο. Τα βέλη δείχνουν προς και από κάθε τέρμα προς τον πρώτο δίσκο, και επιπλέον δεξιά βέλη δείχνουν μεταξύ κάθε περιοχής τέρματος.
  • Για να επαναλάβετε συμπεριφορές πολλές φορές, μπορεί να χρησιμοποιηθεί ένας βρόχος προς.
    Εντολή VEXcode VR Python for loop εντός του κύριου ορισμού. Η εντολή διαβάζει την τιμή εντός εύρους με 10 σε παρένθεση και άνω και κάτω τελεία στην πρώτη γραμμή και, στη συνέχεια, σε εσοχή κάτω από μια εντολή αναμονής, διαβάζει την τιμή αναμονής με 5 και MSEC σε παρένθεση.
  • Προσθέστε έναν βρόχο για στην κορυφή του έργου, πάνω από το πρώτο σχόλιο, και ορίστε την παράμετρο συνάρτησης range σε '3'. Βεβαιωθείτε ότι ο βρόχος για έχει εσοχή μέσα στον κύριο ορισμό.

    def main():
        για repeat_count στο εύρος(3):
            wait(5, MSEC)
  • Για να αντιγράψετε τον κώδικα στον βρόχογια, θα πρέπει να δοθεί ιδιαίτερη προσοχή στην εσοχή. Αρχικά, προσθέστε κενό πριν από την εντολήwait, έτσι ώστε ο βρόχος να μοιάζει με αυτό:

    def main():
        για repeat_count στο εύρος(3):
    
    
            
            wait(5, MSEC)
  • Στη συνέχεια, επιλέξτε τις εντολές που θα τεθούν στον βρόχογιακαι αντιγράψτε και επικολλήστε τες πάνω από την εντολήwait. Παρατηρήστε ότι η εσοχή θα είναι λανθασμένη μετά από απλή αντιγραφή και επικόλληση. Η γκρι γραμμή ένδειξης του βρόχουγιαείναι σπασμένη και αποσυνδεδεμένη από την εντολήαναμονή. Αυτό είναι ένα οπτικό σημάδι ότι το έργο σας δεν θα εκτελεστεί όπως προβλέπεται.Το έργο από παραπάνω, αντιγραμμένο και επικολλημένο στον βρόχο for, με λανθασμένη εσοχή. Η σωστή εσοχή εμφανίζεται στο επόμενο μπλοκ κώδικα.
  • Επιλέξτε τις εντολές μέσα στον βρόχογιακαι χρησιμοποιήστε το πλήκτρο 'Tab' για να προσθέσετε σωστά την εσοχή στις εντολές μέσα στον βρόχο. Όταν έχει τοποθετηθεί σωστά η εσοχή, η γκρι γραμμή ένδειξης θα πρέπει να συνδέει τον βρόχο γιαμε την εντολή waitγια να δείξει τα όρια του εξωτερικού βρόχου. Όταν ολοκληρωθεί, το έργο σας θα πρέπει να έχει την εξής μορφή: 

    def main():
        για repeat_count στο εύρος(3):
            # 1. Οδήγηση σε δίσκο χρησιμοποιώντας τον αισθητήρα Down Eye
            ενώ δεν είναι ενεργοποιημένος ο αισθητήρας down_eye.near_object():
                drivetrain.drive(FORWARD)
                wait(5, MSEC)
            drivetrain.stop()
    
            # 2. Δίσκος λήψης
            μαγνήτης. Ενεργοποίηση (ΕΝΙΣΧΥΣΗ)
    
            # 3. Οδηγήστε προς τον στόχο χρησιμοποιώντας τον Αισθητήρα Απόστασης
            drivetrain.turn_to_heading(180, ΜΟΙΡΕΣ)
            while front_distance.get_distance(MM) > 200:
                drivetrain.drive(FORWARD)
                wait(5, MSEC)
            σύστημα μετάδοσης κίνησης. διακοπή()
    
            # 4. Πτώση δίσκου στο στόχο
            μαγνήτης.ενεργοποίηση(ΠΤΩΣΗ)
            σύστημα μετάδοσης κίνησης.κίνηση_για(ΑΝΤΙΠΡΟΣΘΕΤΑ, 100, MM)
    
            # 5. Στρίψτε και οδηγήστε προς τον επόμενο στόχο
            drivetrain.turn_to_heading(90, ΜΟΙΡΕΣ)
            drivetrain.drive_for(ΜΠΡΟΣΤΑ, 800, MM)
    
            # 6. Στροφή σε δίσκους
            drivetrain.turn_to_heading(0, DEGREES)  
    
        αναμονή(5, MSEC)
  • Παρακολουθήστε το παρακάτω βίντεο για να δείτε πώς μπορείτε να μετακινήσετε τις εντολές και να προσαρμόσετε την εσοχή όπως περιγράφεται παραπάνω. Στο βίντεο κλιπ, επισημαίνονται οι έξι ενότητες σχολίων του έργου και ανοίγει το μενού περιβάλλοντος. Η επιλογή «Αποκοπή» είναι ενεργοποιημένη και, στη συνέχεια, ο κέρσορας τοποθετείται κάτω από την εντολή βρόχου για . Το μενού περιβάλλοντος ανοίγει ξανά και επιλέγεται η επιλογή «Επικόλληση». Οι εντολές βρίσκονται τότε εντός του βρόχου για , αλλά έχουν εσφαλμένη εσοχή. Οι έξι ενότητες σχολίων επισημαίνονται ξανά και πατιέται το πλήκτρο 'Tab' στο πληκτρολόγιο για να γίνει σωστή εσοχή του έργου μέσα στον βρόχο.
Αρχείο βίντεο
  • Ανοίξτε το Disk Mover Playgroundεάν δεν είναι ήδη ανοιχτό και εκτελέστε το έργο.
  • Όταν εκτελείται αυτό το έργο, το ρομπότ εικονικής πραγματικότητας (VR) παραλαμβάνει και αποθέτει έναν δίσκο από κάθε χρώμα στον αντίστοιχο έγχρωμο στόχο του.

    Μια κάτοψη του ρομπότ εικονικής πραγματικότητας (VR) στο τέλος του έργου, με ένα από κάθε έγχρωμο δίσκο στο αντίστοιχο τέρμα, και το ρομπότ εικονικής πραγματικότητας στραμμένο προς τον δεξιό πλευρικό τοίχο στην άκρη του πράσινου τέρματος στην κάτω δεξιά γωνία.

Για την ενημέρωσή σας

Σημειώστε ότι το ρομπότ εικονικής πραγματικότητας συνέχισε να χτυπάει τον τοίχο. Αυτή η συμπεριφορά είναι αναμενόμενη, καθώς το έργο έδωσε εντολή στο ρομπότ εικονικής πραγματικότητας να στρίψει δεξιά και να οδηγήσει προς τον επόμενο στόχο, τρεις φορές. Η πρώτη φορά οδηγεί από το μπλε στο κόκκινο. Το δεύτερο είναι από κόκκινο σε πράσινο, και το τρίτο είναι από πράσινο στον τοίχο, αφού δεν υπάρχει άλλο έγχρωμο τέρμα. Σταματήστε το έργο μόλις το ρομπότ εικονικής πραγματικότητας χτυπήσει στον τοίχο. Το έργο θα μπορούσε να βελτιωθεί έτσι ώστε το ρομπότ εικονικής πραγματικότητας να σταματά αφού σηκώσει και μετακινήσει τον πράσινο δίσκο, αλλά αυτό θα αύξανε τη συνολική πολυπλοκότητα του έργου.

Μια κάτοψη του ρομπότ εικονικής πραγματικότητας στο τέλος του έργου, με το κουμπί Διακοπή στο παράθυρο Playground να επισημαίνεται στην αριστερή γωνία. Στην Παιδική Χαρά, ένας δίσκος από κάθε χρώμα στο αντίστοιχο τέρμα και το Ρομπότ Εικονικής Πραγματικότητας στραμμένο προς τον δεξιό πλευρικό τοίχο στο κέντρο του πράσινου τέρματος, όταν πατήθηκε το κουμπί διακοπής.

 

 

Ερωτήσεις

Επιλέξτε έναν σύνδεσμο παρακάτω για να αποκτήσετε πρόσβαση στο κουίζ του μαθήματος.

Έγγραφο Google / .docx / .pdf