Ας παίξουμε Πινγκ Πονγκ στην οθόνη του υπολογιστή μας με τους αισθητήρες του Thymio (18η Δραστηριότητα)

Του Νίκου Δαπόντε,

Α. Εισαγωγή   

 Σε προηγούμενες δραστηριότητες αξιοποίησης του κινητού ρομπότ Thymio ασχοληθήκαμε με συνηθισμένα θέματα «Εκπαιδευτικής ρομποτικής» όπως ο λαβύρινθος, η κίνηση του ρομπότ πάνω σε μια μαύρη λωρίδα, η αποφυγή εμποδίων με τους αισθητήρες, το άναμμα και το σβήσιμο των LEDs, η κατασκευή ενός καρουζέλ και η ρύθμιση της κίνησης του από το ρομποτάκι, η «οδήγηση» του ρομπότ με ποικίλους τρόπους κ.λ.π. Σ’ αυτή τη δραστηριότητα θέλουμε να δούμε από πιο κοντά και μια άλλη διάσταση χρήσης ενός κινητού ρομπότ, να απαντήσουμε συγκεκριμένα στο ερώτημα:

Η πρώτη σκέψη για την επίλυση του προβλήματος δεν είναι άλλη από την κλασική δηλαδή η αξιοποίηση των κουμπιών που βρίσκονται στην επιφάνεια του Thymio.  Όμως, κάτι τέτοιο αποκλείεται εφόσον οι κατάλληλες εντολές των κουμπιών δεν λειτουργούν στην τρέχουσα έκδοση του περιβάλλοντος «Scratch+Thymio». Αυτό είναι μια πρόκληση για να σκεφτώ εναλλακτική λύση στο πρόβλημα!

Κατέληξα στη χρήση των οριζόντιων αισθητήρων (0 και 4) και μάλιστα στη γνωστή  λειτουργία  < angle > (front(βλέπε τη δραστηριότητα https://www.eduportal.gr/thymio-16/ ) Έτσι, με τη βοήθεια των δύο αυτών αισθητήρων που ενεργοποιούνται αν τους αγγίζω με τα δάχτυλά μου, θα μπορώ να μετακινώ τη ρακέτα προς τα δεξιά ή προς τα αριστερά.

Αυτή τη φορά δεν θα χρησιμοποιώ το Thymio ως κινητό ρομποτάκι αλλά θα το κρατάω στα χέρια μου ως χειριστήριο!

Το ερέθισμα  Το ψηφιακό παιχνίδι «πινγκ πονγκ» είναι ένα ιδιαίτερα δημοφιλές στην κοινότητα του Scratch (για παράδειγμα, η δημοσίευση ενός project με τίτλο «Pong Starter» https://scratch.mit.edu/projects/10000036/ είχε περίπου 23000 «αναμίξεις» – remix).

 

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

B. Παίζοντας πινγκ πονγκ με το Thymio. Ο κώδικας του προγράμματος

Η κίνηση της μπάλας και οι ανακλάσεις της στα άκρα της οθόνης είναι κάτι σχετικά εύκολο για όσους, βέβαια, γνωρίζουν να προγραμματίζουν στο περιβάλλον του Scratch.

Ξεκινάμε από το ότι χρειαζόμαστε δύο μόνο sprites και ένα background για να οικοδομήσουμε το πρόγραμμα (αρχείο pong_thymio1.sb2 ):

  • To background είναι το σκίτσο ενός τοίχου (η εικόνα είναι από αυτές που προσφέρει το λογισμικό) που θα παίξει το ρόλο του σκηνικού για το παιχνίδι.
  • Το πρώτο sprite είναι η ρακέτα. Βρίσκεται στο κάτω μέρος της οθόνης και κινείται προς τα δεξιά ή αριστερά από το Thymio.
  • Το δεύτερο sprite είναι μια μπάλα η οποία κινείται συνεχώς στην οθόνη και ανακλάται στα άκρα ή στη ρακέτα.
  • Επιπλέον, χρειαζόμαστε και δύο μεταβολείς (sliders) για να ρυθμίζουμε την ταχύτητα της μπάλας < speed_ball > και της ρακέτας < speed >.

Παρακάτω δίνονται:

α. Ο κώδικας του προγράμματος για το sprite <ρακέτα>: Εδώ χρησιμοποιούμε τη λειτουργία <angle> front για τη μετακίνηση της ρακέτας στην οθόνη με ρυθμό που προσδιορίζεται από την τιμή της μεταβλητής < speed >.

β) Ο κώδικας του προγράμματος για το sprite <μπάλα>: Εδώ, χρειαζόμαστε μόνο τις εντολές του Scratch για να έχουμε τις επιθυμητές ανακλάσεις της μπάλας. Και αυτή τη φορά, με ένα μεταβολέα (slider) με τίτλο < speed_ball >, ρυθμίζουμε την ταχύτητα της μπάλας.

Η σελίδα οθόνης του παιχνιδιού, όπως το διαμόρφωσα τελικά, δίνεται παρακάτω με τη μορφή βίντεο:

Γ. Μια Ιδέα επέκτασης για πινγκ πονγκ με δύο ρακέτες

Ένα σχετικό αλλά παλιό project που έφτιαξα πριν μερικά χρόνια θα μπορούσε να μας εξυπηρετήσει μια και ο προγραμματισμός του αναφέρεται σε κίνηση της μπάλας του πινγκ πονγκ στο πεδίο βαρύτητας. Σ’ αυτή την περίπτωση το ρόλο της ρακέτας παίζει ο ….δείκτης του ποντικιού!

https://scratch.mit.edu/projects/211971/

Σημειώσεις:

  1. Η  επιλογή μου να χρησιμοποιηθούν δύο αισθητήρες του Thymio για τη γρήγορη και σωστή μετακίνηση της ρακέτας μου προκάλεσε αρκετές …. δυσκολίες χειρισμού. Θα επανέλθω όταν θα μπορώ να χρησιμοποιώ, στο περιβάλλον «Scratch+Thymio», χωρίς περιορισμούς τόσο τα κουμπιά του Thymio όσο και το επιταχυνσιόμετρο που αυτό διαθέτει.
  2. Τα projects που έφτιαξα στο διευρυμένο περιβάλλον «Scratch+Thymio», επιχείρησα να ανεβάσω στο Scratch Website αλλά, δυστυχώς, δεν γίνονται αποδεκτά εφόσον στον κώδικα τους περιλαμβάνονται «πειραματικές εντολές και λειτουργίες». Ελπίζω ότι θα επιτρέπεται η ανάρτηση τέτοιων projects μόλις οριστικοποιηθούν οι ατέλειες και ελλείψεις της διασύνδεσης «Scratch+Thymio».

 Για περισσότερα……