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

Μάθημα 3: Χρήση μπλοκ [Εάν τότε]

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

VEXcode VR Αν τότε μπλοκ C με μια λογική παράμετρο 'Front Eye detects red?'.
  • Ξεκινήστε ένα νέο έργο και ονομάστε το Unit7Lesson3.

    Γραμμή εργαλείων VEXcode VR με το κουμπί «Όνομα έργου» επισημασμένο σε κόκκινο πλαίσιο, αριστερά από το κουμπί «Επιλογή παιδικής χαράς». Το όνομα του έργου έχει οριστεί σε Ενότητα 7 Μάθημα 3.
  • Σύρετε ένα μπλοκ [If then] στον χώρο εργασίας και συνδέστε το στο μπλοκ [When started].

    Το VEXcode VR μπλοκάρει ένα πρόγραμμα με ένα μπλοκ When Started και ένα κενό μπλοκ If Then C.

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

    Το μπλοκ [If then] είναι ένα μπλοκ C που δέχεται μπλοκ αναφοράς Boolean ως είσοδο. Χρησιμοποιώντας τα μοτίβα που παρατηρήθηκαν κατά την επίλυση του Δίσκου Λαβύρινθου στο Μάθημα 2, μπορεί να δημιουργηθεί ένα έργο όπου το Ρομπότ Εικονικής Πραγματικότητας (VR) αποφασίζει εάν η συνθήκη αναφέρεται ως ΣΩΣΤΗ ή ΛΑΘΟΣ.

    VEXcode VR If Then C μπλοκ με ένα κόκκινο πλαίσιο που επισημαίνει τον χώρο των λογικών παραμέτρων.

    Το μπλοκ [If then] θα εκτελεστεί μία φορά σε ένα έργο. Σε αυτό το παράδειγμα, ο αισθητήρας μπροστινού ματιού θα αναφέρει TRUE εάν ανιχνευθεί ένα πράσινο αντικείμενο και θα εκτελέσει την εντολή μέσα στο μπλοκ C - στρίψτε δεξιά για 90 μοίρες. Εάν δεν εντοπιστεί πράσινο αντικείμενο, το έργο θα μετακινηθεί στην επόμενη εντολή στη στοίβα.

    Το VEXcode VR μπλοκάρει ένα έργο που στρίβει δεξιά εάν το μπροστινό μάτι ανιχνεύει το πράσινο χρώμα. Το έργο αναφέρει: Όταν ξεκινήσετε, αν το μπροστινό μάτι ανιχνεύσει πράσινο, στρίψτε δεξιά για 90 μοίρες. Έξω από την εντολή if υπάρχει ένα μπλοκ οδήγησης stop.

    Χρήση μπλοκ διακοπτών 


    Η παρακάτω εικόνα δείχνει την εντολή μπλοκ Switch [If then] για το παράδειγμα έργου αυτού του μαθήματος. 

    Το ίδιο έργο μπλοκ VR VEXcode, αλλά με συμπεριλαμβανόμενα μπλοκ διακόπτη, στρίβει δεξιά εάν το μπροστινό μάτι ανιχνεύσει το πράσινο χρώμα. Το έργο ξεκινά με ένα μπλοκ When started και ακολουθείται από μια έκδοση μπλοκ switch C ενός μπλοκ If Then. Ο κώδικας Python αναφέρει 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)'. Έξω από την εντολή if υπάρχει ένα μπλοκ οδήγησης stop.

    Το παρακάτω έργο περιλαμβάνει τις ίδιες εντολές που έχουν μετατραπεί σε ένα μπλοκ Switch.  

    Η πρώτη γραμμή κώδικα, αν front_eye.detect(GREEN): , είναι ο βρόχος υπό όρους που ελέγχει εάν ο αισθητήρας μπροστινού ματιού ανιχνεύει το πράσινο χρώμα. Σημειώστε ότι θα πρέπει να υπάρχει μια άνω και κάτω τελεία (:) στο τέλος αυτής της γραμμής. 

    Η δεύτερη γραμμή κώδικα, drivetrain.turn_for(RIGHT, 90, DEGREES) , λέει στο ρομπότ να στρίψει δεξιά κατά 90 μοίρες όταν ο αισθητήρας μπροστινού ματιού ανιχνεύσει το πράσινο χρώμα. Αυτή η γραμμή έχει εσοχή με προεπιλογή 4 κενά, επειδή αυτή είναι η συγκεκριμένη συμπεριφορά που θα εκτελεστεί εάν ο αισθητήρας μπροστινού ματιού ανιχνεύσει πράσινο. 

    Το ίδιο έργο μπλοκ VR VEXcode, αλλά με συμπεριλαμβανόμενα μπλοκ διακόπτη, στρίβει δεξιά εάν το μπροστινό μάτι ανιχνεύσει το πράσινο χρώμα. Το έργο ξεκινά με ένα μπλοκ When started και ακολουθείται από μια έκδοση μπλοκ switch C ενός μπλοκ If Then. Ο κώδικας Python αναφέρει 'if front_eye.detect(GREEN): drivetrain.turn_for(RIGHT, 90, DEGREES)'. Έξω από την εντολή if υπάρχει ένα μπλοκ οδήγησης stop.

  • Σύρετε ένα μπλοκ <Color sensing> στον χώρο εργασίας στην εξαγωνική είσοδο του μπλοκ [Εάν τότε].

    Το VEXcode VR μπλοκάρει ένα έργο που χρησιμοποιεί μια εντολή if για να ανιχνεύσει το χρώμα ενός δίσκου. Ξεκινά με ένα μπλοκ "Όταν ξεκίνησε" και στη συνέχεια ένα μπλοκ σχολίων που αναφέρει "αν το μπροστινό μάτι ανιχνεύσει πράσινο, τότε στρίψτε δεξιά". Τέλος, υπάρχει ένα κενό μπλοκ If Then με μια λογική παράμετρο ενός μπλοκ Color Sensing που αναφέρει 'Front Eye detects red?'.
  • Αλλάξτε την παράμετρο του μπλοκ <Color sensing> σε «πράσινο».

    Το VEXcode VR μπλοκάρει ένα έργο που χρησιμοποιεί μια εντολή if για να ανιχνεύσει έναν πράσινο δίσκο. Ξεκινά με ένα μπλοκ "Όταν ξεκίνησε" και στη συνέχεια ένα μπλοκ σχολίων που αναφέρει "αν το μπροστινό μάτι ανιχνεύσει πράσινο, τότε στρίψτε δεξιά". Τέλος, υπάρχει ένα κενό μπλοκ If Then με μια λογική παράμετρο ενός μπλοκ Color Sensing που αναφέρει 'Front Eye detects green?'. Το αναπτυσσόμενο μενού χρωμάτων είναι ανοιχτό για να αλλάξετε το χρώμα από κόκκινο σε πράσινο.
  • Όταν ο αισθητήρας μπροστινού ματιού ανιχνεύσει έναν πράσινο δίσκο, το ρομπότ εικονικής πραγματικότητας θα πρέπει να στρίψει δεξιά 90 μοίρες για να ξεκινήσει την επίλυση του λαβυρίνθου των δίσκων. Σύρετε ένα μπλοκ [Γυρίστε για] στο μπλοκ [Αν τότε].

    Το VEXcode VR μπλοκάρει ένα έργο που χρησιμοποιεί μια εντολή if για να ανιχνεύσει έναν πράσινο δίσκο και στη συνέχεια να στρίψει δεξιά. Ξεκινά με ένα μπλοκ "Όταν ξεκίνησε" και στη συνέχεια ένα μπλοκ σχολίων που αναφέρει "αν το μπροστινό μάτι ανιχνεύσει πράσινο, τότε στρίψτε δεξιά". Τέλος, υπάρχει ένα μπλοκ If Then με μια λογική παράμετρο ενός μπλοκ Color Sensing που αναφέρει 'Front Eye detects green?' και ένα μπλοκ Turn right for 90 degrees μέσα στο κοντέινερ If που θα ενεργοποιηθεί εάν η λογική τιμή είναι αληθής.
  • Ακολουθήστε τα ίδια βήματα για να προσθέσετε ένα άλλο μπλοκ [If then] και για τα τρία χρώματα στο Disk Maze (πράσινο, μπλε και κόκκινο). Κάθε χρώμα συνδέεται με μια διαφορετική συμπεριφορά. Τα μπλοκ μέσα στο μπλοκ [If then] θα πρέπει να ταιριάζουν με την προβλεπόμενη συμπεριφορά. Προσθέστε τα ακόλουθα μπλοκ στο έργο. Όταν το ρομπότ εικονικής πραγματικότητας ανιχνεύσει το χρώμα «μπλε», θα στρίψει αριστερά κατά 90 μοίρες.

    Τα ίδια μπλοκ VR του VEXcode προβάλλονται από πριν, αλλά με μια προστιθέμενη εντολή if για να στρίψει αριστερά εάν υπάρχει μπλε δίσκος. Ξεκινά με ένα μπλοκ When Started (Κατά την Έναρξη) και στη συνέχεια υπάρχει ένα μπλοκ If Then (Αν Τότε) με μια λογική παράμετρο ενός μπλοκ Color Sensing (Ανίχνευση Χρώματος) που αναφέρει 'Front Eye detects green?' (Το Μπροστινό Μάτι ανιχνεύει πράσινο;) και ένα μπλοκ Turn right for 90 μοίρες μέσα στο κοντέινερ If (Στρίψτε δεξιά για 90 μοίρες). Τέλος, υπάρχει η ίδια στοίβα μπλοκ αν μπλοκάρει και στρίβει, αλλά αλλάζει σε στροφή αριστερά κατά 90 μοίρες αν ανιχνευθεί το μπλε χρώμα.
  • Όταν το ρομπότ εικονικής πραγματικότητας (VR) φτάσει στο τέλος του λαβυρίνθου, θα ανιχνεύσει το χρώμα «κόκκινο».

    Ρομπότ VR στην παιδική χαρά του λαβυρίνθου δίσκων VR, το ρομπότ είναι σταματημένο και κοιτάζει προς έναν κόκκινο δίσκο.
  • Για να σταματήσετε το ρομπότ VR, πρέπει να προσθέσετε ένα άλλο μπλοκ [Εάν τότε] με οδηγίες για το τι πρέπει να κάνετε όταν το ρομπότ VR ανιχνεύσει «κόκκινο». Προσθέστε τα ακόλουθα μπλοκ στο έργο.

    Το ίδιο VEXcode VR μπλοκάρει την προβολή από πριν, αλλά με μια προστιθέμενη εντολή if για να σταματήσει η οδήγηση εάν υπάρχει κόκκινος δίσκος. Ξεκινά με ένα μπλοκ When Started (Κατά την Έναρξη) και στη συνέχεια υπάρχει ένα μπλοκ If Then (Αν Τότε) με μια λογική παράμετρο ενός μπλοκ Color Sensing (Ανίχνευση Χρώματος) που αναφέρει 'Front Eye detects green?' (Το Μπροστινό Μάτι ανιχνεύει πράσινο;) και ένα μπλοκ Turn right for 90 μοίρες μέσα στο κοντέινερ If (Στρίψτε δεξιά για 90 μοίρες). Στη συνέχεια, υπάρχει η ίδια στοίβα μπλοκ αν μπλοκάρει και στρίβει, αλλά αλλάζει σε στρίψιμο αριστερά κατά 90 μοίρες αν ανιχνευθεί το μπλε χρώμα. Τέλος, το ίδιο ισχύει αν χρησιμοποιείται η στοίβα μπλοκ και στροφής, αλλά αλλάζει σε Διακοπή οδήγησης αν ανιχνευθεί το κόκκινο χρώμα.
  • Το ρομπότ εικονικής πραγματικότητας μπορεί επίσης να λάβει μια απόφαση εάν δεν βλέπει ένα χρώμα χρησιμοποιώντας την τιμή «κανένα». Στο σημείο εκκίνησης του Δίσκου Λαβύρινθου, το Ρομπότ Εικονικής Πραγματικότητας (VR) δεν ανιχνεύει χρώματα.

    Η προβολή της παιδικής χαράς εικονικής πραγματικότητας με ανοιχτό το ταμπλό και ένα κόκκινο πλαίσιο που επισημαίνει τις τιμές ανίχνευσης του μπροστινού ματιού του ρομπότ. Η τρέχουσα τιμή «Αντικείμενο» είναι ψευδής και η τρέχουσα τιμή «Χρώμα» είναι μηδενική.
  • Επειδή ο αισθητήρας μπροστινού ματιού δεν ανιχνεύει χρώμα στην αρχή του λαβυρίνθου δίσκων, το ρομπότ εικονικής πραγματικότητας θα πρέπει να κινηθεί προς τα εμπρός μέχρι να ανιχνεύσει τον πράσινο δίσκο. Μπορεί να προστεθεί ένα άλλο μπλοκ [If then] για να δώσει οδηγίες στο ρομπότ εικονικής πραγματικότητας για το τι πρέπει να κάνει όταν δεν ανιχνεύεται χρώμα.

    Μπλοκ ανίχνευσης χρώματος VEXcode VR, που αναφέρει «Το μπροστινό μάτι δεν ανιχνεύει κανένα;». Υπάρχει ένα αναπτυσσόμενο μενού ανοιχτό για να δείξει πώς ο χρήστης μπορεί να αλλάξει το χρώμα-στόχο σε "κανένα".
  • Προσθέστε τα ακόλουθα μπλοκ στο έργο. Όταν το ρομπότ εικονικής πραγματικότητας (VR) δεν ανιχνεύει κανένα χρώμα, θα κινηθεί προς τα εμπρός.

    Το ίδιο VEXcode VR μπλοκάρει την προβολή από πριν, αλλά με μια προστιθέμενη εντολή if για προώθηση εάν δεν εντοπιστεί δίσκος. Ξεκινά με ένα μπλοκ When Started (Κατά την Έναρξη) και στη συνέχεια υπάρχει ένα μπλοκ If Then (Αν Τότε) με μια λογική παράμετρο ενός μπλοκ Color Sensing (Ανίχνευση Χρώματος) που αναφέρει 'Front Eye detects green?' (Το Μπροστινό Μάτι ανιχνεύει πράσινο;) και ένα μπλοκ Turn right for 90 μοίρες μέσα στο κοντέινερ If (Στρίψτε δεξιά για 90 μοίρες). Στη συνέχεια, υπάρχει η ίδια στοίβα μπλοκ αν μπλοκάρει και στρίβει, αλλά αλλάζει σε στρίψιμο αριστερά κατά 90 μοίρες αν ανιχνευθεί το μπλε χρώμα. Στη συνέχεια, το ίδιο ισχύει αν χρησιμοποιείται η στοίβα μπλοκ και στροφής, αλλά αλλάζει σε Διακοπή οδήγησης αν ανιχνευθεί το κόκκινο χρώμα. Τέλος, το ίδιο ισχύει αν χρησιμοποιηθεί η στοίβα μπλοκ και στροφής, αλλά αλλάζει σε Οδήγηση Εμπρός αν δεν ανιχνευθεί χρώμα.
  • Το ρομπότ εικονικής πραγματικότητας (VR) έχει πλέον οδηγίες για κάθε χρώμα που ανιχνεύεται από τον αισθητήρα ματιών.
    • Ο μπροστινός αισθητήρας ματιού ανιχνεύει «πράσινο;»
      • Στρίψτε δεξιά 90 μοίρες
    • Ο μπροστινός αισθητήρας ματιού ανιχνεύει «μπλε;»
      • Στρίψτε αριστερά 90 μοίρες
    • Ο μπροστινός αισθητήρας ματιού ανιχνεύει «κόκκινο;»
      • Σταμάτα να οδηγείς
    • Ο μπροστινός αισθητήρας ματιού ανιχνεύει 'κανένα;'
      • Οδηγήστε προς τα εμπρός
  • Ανοίξτε το Disk Maze Playground και εκτελέστε το έργο.

Επιλέξτε το κουμπί Επόμενο για να συνεχίσετε με το υπόλοιπο μάθημα.