Έργα στο Scratch

To Scratch είναι ένα προγραμματιστικό περιβάλλον που απευθύνεται σε ανθρώπους κάθε ηλικίας (ιδιαιτέρως σε παιδιά) που θέλουν να μάθουν τις βασικές αρχές του προγραμματισμού. Παρέχει ένα πολύ εύκολο και διαισθητικό περιβάλλον διεπαφής (UI), με ρεπερτόριο εντολών (instructions) που αποκρύβει το συντακτικό του και διευκολύνει κάποιον να επικεντρωθεί στην επίλυση του προβλήματος. Παράλληλα, τον μαθαίνει τις βασικές αρχές του δομημένου προγραμματισμού, του τμηματικού προγραμματισμού, του οπτικού προγραμματισμού και εν μέρει του αντικειμενοστραφούς προγραμματισμού.

Στο τμήμα αυτό θα βρείτε εκπαιδευτικά έργα που έχω δημιουργήσει στο Scratch, χωρισμένα σε 3 κατηγορίες: Animation, Ζωγραφική και Games. Κάθε έργο στη λίστα, συνοδεύεται με δείγμα σε video και το source αρχείο σε δύο εκδόσεις: για Scratch v2 (.sb2) και Scratch v3 (.sb3). Επίσης, παρέχεται ο σύνδεσμος στη σχετική σελίδα του έργου στο site του Scratch, όπου μπορεί κάποιος να μελετήσει τον κώδικα.

Να σημειώσω, ότι σε κάθε έργο κάνω εκτενή χρήση των διαδικασιών (custom blocks), μία βασική αρχή για την ανάπτυξη και οργάνωση μεγάλων προγραμμάτων κι ενθαρρύνω του μαθητές να την χρησιμοποιούν σε κάθε μικρό ή μεγάλο έργο.

Μπάλα πέρα-δώθε

Μία μπάλα που κινείται μεταξύ δύο τοίχων.
Σελίδα του έργου στο Scratch (page in Scratch)

Δύο μπάλες που κινούνται παράλληλα με διαφορετική ταχύτητα

Δύο μπάλες που κινούνται παράλληλα με διαφορετική ταχύτητα μεταξύ δύο τοίχων.

Με μία μικρή τροποποίηση στο έργο μπορείτε να προσθέσετε περισσότερες μπάλες, κάνοντάς το αρκετά εντυπωσιακό!

Σελίδα του έργου στο Scratch (page in Scratch)

Δύο μπάλες που κινούνται αντίθετα και συγκρούονται

Δύο μπάλες που κινούνται αντίθετα μεταξύ δύο τοίχων και συγκρούονται.

Με μία μικρή τροποποίηση στο έργο μπορείτε να κάνετε τις μπάλες να κινούνται με διαφορετική ταχύτητα.

Σελίδα του έργου στο Scratch (page in Scratch)

Ανεμόμυλος

Ένας απλός ανεμόμυλος.
Σελίδα του έργου στο Scratch (page in Scratch)

Δύο ανεμόμυλοι με εναλλαγή φόντου

Δύο ανεμόμυλοι όπου το φόντο εναλάσσεται σε τακτά διαστήματα. Για να δοθεί η προοπτική βάθους ο δεύτερος είναι πιο μικρός και γυρίζει πιο αργά.

Με μία μικρή τροποποίηση στο έργο μπορείτε να προσθέσετε περισσότερους ανεμόμυλους, ποικίλου μεγέθους, που η ρόδα τους θα γυρίζει με διαφορετική ταχύτητα.

Σελίδα του έργου στο Scratch (page in Scratch)

Η μπάλα κινείται και γυρίζει

Μία μπάλα που καθώς κινείται γυρίζει κιόλας.

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

Σελίδα του έργου στο Scratch (page in Scratch)

Εφέ Zoom σε αντικείμενο

Ένα τυπικό δείγμα του πώς κάνουμε εφέ zoom σε ένα αντικείμενο. Μπορείτε να πάρετε τον κώδικα και να τον χρησιμοποιήσετε στα δικά σας έργα.

Περιέχει δύο εκδόσεις διαδικασιών (custom blocks):

  • Μία απλή
  • Μία με παραμέτρους, όπου μπορούμε να παραμετροποιήσουμε το εφέ (π.χ, ταχύτητα)

Σελίδα του έργου στο Scratch (page in Scratch)

Εφέ αντίστροφης μέτρησης

Ένα τυπικό δείγμα του πώς κάνουμε αντίστροφη μέτρηση. Μπορείτε να πάρετε τον κώδικα και να τον χρησιμοποιήσετε στα δικά σας έργα.
Σελίδα του έργου στο Scratch (page in Scratch)

Slide-in εφέ σε αντικείμενο

Ένα τυπικό δείγμα του πώς κάνουμε slide-in εφέ σε ένα αντικείμενο. Μπορείτε να πάρετε τον κώδικα και να τον χρησιμοποιήσετε στα δικά σας έργα.

Περιέχει δύο εκδόσεις διαδικασιών (custom blocks):

  • Μία απλή
  • Μία με παραμέτρους, όπου μπορούμε να παραμετροποιήσουμε το εφέ (π.χ, ταχύτητα, από ποιό σημείο (x,y) θα ξεκινάει και σε ποιό θα καταλήγει).

Σελίδα του έργου στο Scratch (page in Scratch)

Τοποθέτηση γραμμάτων με εφέ

Ένα παράδειγμα τοποθέτησης γραμμάτων μίας λέξης με εφέ. Τα γράμματα αρχικά τοποθετούνται τυχαία στο σκηνικό και κατόπιν μπαίνουν στη σωστή σειρά για να σχηματιστεί η λέξη.
Σελίδα του έργου στο Scratch (page in Scratch)

Γάτα κυνηγάει ψάρι

Ένα τυπικό δείγμα κίνησης της γάτας μέσα σε δρόμο. Η γάτα κινείται με τα βελάκια του πληκτρολογίου και το ψάρι εμφανίζεται, τυχαία, σε προκαθορισμένα σημεία του δρόμου.

Το έργο χρησιμοποιεί τα εφέ αντίστροφης μέτρησης και zoom σε αντικείμενο. Επίσης, δεν έχει συνθήκη τερματισμού (μπορείτε να βάλετε όταν π.χ. το σκορ φτάσει στο 10 να εμφανιζεται ένα GAME OVER γραφικό). Με μία μικρή τροποποίηση στον κώδικα του ψαριού (στη διαδικασία ΕμφανίσουΣτηΘέση) μπορείτε να προσθέσετε κι άλλα προκαθορισμένα σημεία εμφάνισης (x,y) του ψαριού.

Σελίδα του έργου στο Scratch (page in Scratch)

Μπάλα κινείται μέσα σε σωλήνα

Μία μπάλα που κινείται αυτόματα μέσα σε ένα σωλήνα. Σε κάποιες γωνίες του έχουμε βάλει μαγνήτες που της αλλάζουν κατεύθυνση. Όταν η μπάλα χτυπάει έναν μαγνήτη, ο τελευταίος γίνεται για λίγο μπλε και ακούγεται ένας σύντομος ήχος, πετυχαίνοντας μία διάδραση (interaction).

Το έργο χρησιμοποιεί τα εφέ αντίστροφης μέτρησης και slide-in. Επίσης, όταν η μπάλα κάνει 3 γύρους τότε εμφανιζεται ένα GAME OVER γραφικό).

Σελίδα του έργου στο Scratch (page in Scratch)

Τα αστέρια πέφτουν από τον ουρανό

Αστέρια πέφτουν συνέχεια από τον ουρανό. Επιπλέον, σε τακτά χρονικά διαστήματα εμφανίζονται κομήτες από αριστερά ή δεξιά να διασχίζουν τον ουρανό.

Το έργο χρησιμοποιεί τον μηχανισμό της κλωνοποίησης για τη δημιουργία των αστεριών και κομητών. Παράλληλα, μπορεί κάποιος να το τροποποιήσει ώστε να γίνονται, σε τακτά χρονικά διαστήματα, εκρήξεις super-nova.

Σελίδα του έργου στο Scratch (page in Scratch)

Κινούμενο background New

Ένα έργο που δείχνει ένα κινούμενο background.
Κίνηση διαστημόπλοιου: Με τα βελάκια του πληκτρολογίου
Πυρ: Με το πλήκτρο [Space].

Μελετώντας τον κώδικα (που είναι απλός) μαθαίνουμε την τεχνική του πώς δημιουργούμε ένα κινούμενο background. Εδώ το φόντο είναι το διάστημα (που κατεβαίνει).

Σελίδα του έργου στο Scratch (page in Scratch)

Σχεδίαση τετραγώνου

Σχεδιάζει ένα τετράγωνο.

Περιέχει δύο εκδόσεις διαδικασιών (custom blocks):

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

Σελίδα του έργου στο Scratch (page in Scratch)

Σχεδίαση τριγώνου

Σχεδιάζει ένα ισόπλευρο τρίγωνο.

Περιέχει δύο εκδόσεις διαδικασιών (custom blocks):

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

Σελίδα του έργου στο Scratch (page in Scratch)

Σχεδίαση εξαγώνου

Σχεδιάζει ένα εξάγωνο.

Περιέχει δύο εκδόσεις διαδικασιών (custom blocks):

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

Σελίδα του έργου στο Scratch (page in Scratch)

Σχεδίαση γενικά πολυγωνικού σχήματος

Σχεδιάζει οποιοδήποτε πολυγωνικό σχήμα (τρίγωνο, τετράγωνο, πεντάγωνο κλπ)

Περιέχει δύο εκδόσεις παραμετρικών διαδικασιών (custom blocks με παραμέτρους):

  • Με μία παράμετρο, που σχεδιάζει το πολυγωνικό σχήμα όπου η παράμετρος αυτή προσδιορίζει το πόσες πλευρές θα σχεδιάσει (το είδος του πολυγώνου) αλλά με σταθερό μήκος πλευράς.
  • Με δύο παραμέτρους, που σχεδιάζει το πολυγωνικό σχήμα όπου η πρώτη παράμετρος προσδιορίζει το πόσες πλευρές θα σχεδιάσει (το είδος του πολυγώνου) και η δεύτερη παράμετρος προσδιορίζει το μήκος της κάθε πλευράς.
Η δεύτερη έκδοση είναι πιο γενική και συνεπώς πιο ευέλικτη.

Σελίδα του έργου στο Scratch (page in Scratch)

Σχεδίαση κύκλου

Σχεδιάζει έναν κύκλο.

Με μία μικρή τροποποίηση μπορούμε να σχεδιάζουμε κύκλους μεταβλητής ακτίνας (με παραμετρική διαδικασία).

Σελίδα του έργου στο Scratch (page in Scratch)

Μοτίβο με κεκλιμένα τετράγωνα (μία γραμμή)

Σχεδιάζει ένα μοτίβο με κεκλιμένα τετράγωνα, σε μία γραμμή μόνο.

Μπορούμε να τροποποιήσουμε το μοτίβο ώστε τα τετράγωνα να είναι διαφορετικού χρώματος καθώς και να υπάρχει μεταβλητή απόσταση μεταξύ τους.

Σελίδα του έργου στο Scratch (page in Scratch)

Μοτίβο με κεκλιμένα τετράγωνα (πολλές γραμμές)

Σχεδιάζει ένα μοτίβο με κεκλιμένα τετράγωνα, σε πολλές γραμμές.

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

Σελίδα του έργου στο Scratch (page in Scratch)

Μοτίβο με τρίγωνα (μία γραμμή)

Σχεδιάζει ένα μοτίβο με τρίγωνα, σε μία γραμμή.

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

Σελίδα του έργου στο Scratch (page in Scratch)

Μοτίβο με τρίγωνα (πολλές γραμμές)

Σχεδιάζει ένα μοτίβο με τρίγωνα, σε πολλές γραμμές.

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

Σελίδα του έργου στο Scratch (page in Scratch)

Σκακιέρα

Σχεδιάζει μία σκακιέρα 8x8.

Χρησιμοποιούμε τον μηχανισμό της κλωνοποίησης ενός γραφικού (τετραγώνου με δύο ενδυμασίες, μαύρο-κίτρινο) για να δημιουργήσουμε πολλαπλά παρόμοια τετράγωνα.

Σελίδα του έργου στο Scratch (page in Scratch)

Μοτίβο με εμφωλευμένα τετράγωνα

Σχεδιάζει ένα μοτίβο με εμφωλευμένα τετράγωνα (δηλαδή, το ένα μέσα στο άλλο).

Μπορούμε να τροποποιήσουμε το μοτίβο ώστε τα τετράγωνα να είναι διαφορετικού χρώματος.

Σελίδα του έργου στο Scratch (page in Scratch)

Δάσος

Σχεδιάζει ένα δάσος.

Χρησιμοποιούμε τον μηχανισμό της κλωνοποίησης ενός γραφικού (δέντρου). Το ενδιαφέρον στοιχείο είναι ότι προσθέτουμε τυχαία και μία μικρή κύρτωση. Με μία μικρή τροποποίηση μπορούμε να προσθέσουμε επιπλέον γραφικά (ενδυμασίες) του δέντρου κάνοντας το δάσος πολυμορφικό.

Σελίδα του έργου στο Scratch (page in Scratch)

Σπίτι

Σχεδιάζει ένα σπίτι με δύο τρόπους.

Περιέχει δύο εκδόσεις διαδικασιών (custom blocks):

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

Σελίδα του έργου στο Scratch (page in Scratch)

Πολλά σπίτια

Σχεδιάζει 4 σπίτια στη σειρά, με τυχαίο χρώμα το καθένα.

Μετά την μελέτη του πηγαίου κώδικα, συνιστάται να γίνουν οι προτεινόμενες ασκήσεις.

Σελίδα του έργου στο Scratch (page in Scratch)

Ήλιος

Σχεδιάζει έναν ήλιο με πολλές μικρές και μεγάλες ακτίνες.

Με μία μικρή τροποποίηση, κάθε ακτίνα μπορεί να έχει διαφορετικό χρώμα.

Σελίδα του έργου στο Scratch (page in Scratch)

Σπίτια με ορόφους New

Σχεδιάζει 7 σπίτια στη σειρά, με τυχαίο χρώμα. Κάθε σπίτι μπορεί να έχει από 0 (ισόγειο) μέχρι 3 ορόφους.

Με μία μικρή τροποποίηση, κάθε σπίτι μπορεί να έχει διαφορετικό μήκος πλευράς.

Σελίδα του έργου στο Scratch (page in Scratch)

Λαβύρινθος για 2 παίκτες

Δύο παίκτες καθοδηγούν από μία γάτα και προσπαθούν να φτάσουν στην άλλη άκρη να φάνε το ψάρι. Πράσινη γάτα: Κινείται με τα arrow keys. Κόκκινη γάτα: Κινείται με τα WASD keys.

Μπορείτε να τροποποιήσετε το έργο ώστε να προσθέσετε τα εξής:

  • Σκορ για κάθε μία γάτα. Κάθε φορά που μία γάτα τρώει το ψάρι, να αυξάνεται το σκορ της.
  • Αν κάποια γάτα φτάσει το σκορ στο 5 (ή σε όποια άλλη τιμή θέλετε) να σταματάει το παιχνίδι και να βγάζει ένα κατάλληλο μήνυμα: Π.χ. "Κέρδισε η πράσινη γάτα" ή "Κέρδισε η κόκκινη γάτα".
    Αυτή θα είναι και συνθήκη τερματισμού του παιχνιδιού.
  • Για το μήνυμα νίκης μπορείτε να φτιάξετε 2 ωραία γραφικά: ένα για την νίκη της πράσινης κι ένα για τη νίκη της κόκκινης γάτας.

Σελίδα του έργου στο Scratch (page in Scratch)

Space Shooter

Ένα παιχνίδι όπου κινούμε το διαστημόπλοιο και προσπαθούμε να πετύχουμε όσους περισσότερους εξωγήινους μπορούμε. Το παιχνίδι τελειώνει όταν συγκρουστούμε 3 φορές με κάποιον εξωγήινο οπότε οι καρδιές θα χαθούν.

  • WASD keys: Κίνηση διαστημόπλοιου
  • SPACE key: Πυρ!
Χρησιμοποιείται ο μηχανισμός της κλωνοποίησης για την αναπαραγωγή των εξωγήινων και των βολών του διαστημόπλοιου.

Σελίδα του έργου στο Scratch (page in Scratch)

Arkanoid

Ένα παιχνίδι που προσομοιάζει το γνωστό Arkanoid. Περιλαμβάνει και μπόνους καθώς και λίγο κλέψιμο (κούνημα της μπάλας-Tilt !).

Πλήκτρα:

  • A = Αριστερά
  • D = Δεξιά
  • SPACE = Κούνημα μπάλας (Tilt)
Τα bonus είναι:
  • L = Large bar
  • S = Small bar
  • F = Fast ball
Έχω βάλει πολλά σχόλια στον πηγαίο κώδικα, τον οποίο μπορείτε να τροποποιήσετε ώστε να προσθέστε επιπλέον bonus ή να βελτιώσετε την φυσική της μπάλας και την αντίδρασή της πάνω στην μπάρα. Σε κάθε περίπτωση, αφορά προχωρημένους στο Scratch!

Σελίδα του έργου στο Scratch (page in Scratch)