Κυνηγητό με τα… βελάκια

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

Κάθε φορά για να προχωρήσουμε τον προγραμματισμό θέτουμε ερωτήματα στην ολομέλεια της τάξης: Τι θέλουμε να κάνουμε; Ποια εντολή θα χρησιμοποιήσουμε; Πού θα την τοποθετήσουμε; «Τρέχουμε» το πρόγραμμα συχνά, παρατηρούμε τις ενέργειες που πραγματοποιούνται, διορθώνουμε λάθη και… συνεχίζουμε…

Στόχοι: Οι μαθητές κι οι μαθήτριες της Δ’ τάξης να ασκηθούν στη χρησιμοποίηση των δομών προγραμματισμού (ακολουθιακή, επιλογής, επαναληπτική). Να αντιληφθούν ότι μέσω του προγράμματος ο ψηφιακός κόσμος των φιγούρων «υπακούει» στα βελάκια του υπολογιστή. Να συνειδητοποιήσουν ότι η μεταβλητή έχει σταθερό όνομα και μεταβλητό περιεχόμενο. Να ασκηθούν στη σύνθετη επιλογή με τον λογικό τελεστή ΚΑΙ. Να μάθουν ότι ο υπολογιστής μπορεί να «παράγει» τυχαίους αριθμούς. Να δουν ότι οι εντολές «τρέχουν» τόσο γρήγορα που μπορεί να μην βλέπουμε τα αποτελέσματα (π.χ. αλλαγή ενδυμασίας). Να δίνουν αξία στις αρχικές καταστάσεις είτε των φιγούρων είτε των μεταβλητών (αρχικοποιήσεις). Να εφαρμόζουν συνεχείς δοκιμές, βελτιώσεις και διορθώσεις σφαλμάτων στο πρόγραμμα.
  1. Επεξήγηση (στην ολομέλεια της τάξης): Εξηγούμε το σενάριο του παιχνιδιού το οποίο θέλουμε να δημιουργήσουμε: μία φιγούρα κινείται με βελάκια και προσπαθεί να πιάσει μερικές άλλες που κινούνται μόνες τους, τυχαία στον χώρο μέσα σε συγκεκριμένο χρονικό διάστημα.
  2. Προγραμματιστικό περιβάλλον Scratch (σε ομάδες): τα παιδιά επιλέγουν το υπόβαθρο, τη φιγούρα- κυνηγό και τις άλλες φιγούρες που κινούνται τυχαία, από μόνες τους. Αυτές οι τελευταίες πρέπει να έχουν δεύτερη ενδυμασία.
  3. Προγραμματίζουμε τη φιγούρα που κινείται με βελάκια:
    1. Για κάθε πάτημα κάθε βέλους εισάγουμε εντολές ώστε να στρέφεται κατάλληλα και να κινείται.
    2. Πώς θα καταλάβει το πρόγραμμα ότι η φιγούρα- κυνηγός έχει πιάσει όλες τις άλλες φιγούρες; Χρειαζόμαστε μια μεταβλητή που να κρατάει τους πόντους.
    3. Πότε θα κερδίζει ο παίκτης; Εάν πιάσει όλες τις φιγούρες και το χρονόμετρο είναι λιγότερο από κάποια δευτερόλεπτα. Αντίστοιχα, χάνει εάν πιάσει όλες τις φιγούρες και το χρονόμετρο είναι περισσότερα από αυτά τα δευτερόλεπτα.
    4. Όταν κερδίζει ή όταν χάνει παρουσιάζεται μήνυμα και το παιχνίδι τελειώνει.
  4. Προγραμματίζουμε μια φιγούρα που κινείται τυχαία:
    1. Πηγαίνει σε μια τυχαία θέση.
    2. Για πάντα: αλλάζει σε μια ενδυμασία, κινείται, αλλάζει σε μια δεύτερη ενδυμασία. «Τρέχουμε» το πρόγραμμα κι οι αλλαγές ενδυμασίας δεν φαίνονται. Προσθέτουμε εντολή καθυστέρησης. Χρησιμοποιούμε και την εντολή: «αν στα όρια, αναπήδησε». Κι η φιγούρα γυρίζει ανάποδα όταν ακουμπήσει τα όρια. Διορθώνουμε τις ιδιότητές της.
    3. Για πάντα: εάν αγγίξει τη φιγούρα- κυνηγό αυξάνει την τιμή της μεταβλητής κατά 1, παίζει κάποιον ήχο, εξαφανίζεται και σταματάει το σενάριο.
  5. Αντιγράφουμε την παραπάνω φιγούρα κάποιες φορές.
  6. «Τρέχουμε» και «ξανατρέχουμε » το πρόγραμμα. Εμφανίζονται προβλήματα:
    1. Το πλήθος των φιγούρων που πιάνονται δεν ξεκινάει από το μηδέν κάθε φορά που ξεκινάμε και πάλι από την αρχή! – Αρχικοποίηση της μεταβλητής.
    2. Οι φιγούρες που πιάνονται δεν ξαναεμφανίζονται όταν ξαναπαίζουμε το παιχνίδι! – Εισαγωγή εντολής ώστε να εμφανίζεται κάθε φορά η φιγούρα στην αρχή.

Κατερίνα και Τζουλιάνα


Μετάβαση στο scratch.mit.edu

Τζωρτζίνα – Ιωάννα Νίκος και Μόργκαν  Πέτρος και Ερρίκος

 

Αφήστε μια απάντηση