Πώς να φτιάξουμε το δικό μας παιχνίδι με το Scratch
Block Braker Game
Το σενάριο του παιχνιδιού είναι απλό και έρχεται από πολύ παλιά...
Χρησιμοποιούμε μια ρακέτα και ένα μπαλάκι για να καθαρίσουμε την πίστα από τα αντικείμενα (blocks).
1. Δημιουργία Ρακέτας
Δημιουργούμε ένα νέο αντικείμενο από την ζωγραφική του scratch, το οποίο θα χρησιμοποιήσουμε ως ρακέτα.
Ο κώδικας της Ρακέτας είναι απλός:
- Χρησιμοποιούμε ένα μπλοκ 'Για πάντα' και
- θα ορίσουμε το Χ να είναι ίδιο με το Χ του ποντικιού ώστε όταν κινούμε το ποντίκι μας να κινείται και η Ρακέτα, αλλά μόνο δεξιά- αριστερά (δηλαδή στον άξονα του Χ). Την διάσταση Υ (κατακόρυφος άξονας) την ορίζουμε στο -130 χωρίς εντολή.
- Επίσης μέσα στο μπλοκ 'Για πάντα' ελέγχουμε με την εντολή 'Εάν... Τότε' αγγίζει την μπάλα (η εντολή αγγίζει βρίσκεται στους αισθητήρες) και μεταδίδει το μήνυμα1.
2. Μπάλα
Εισάγουμε ένα νέο αντικείμενο για μπάλα. Αυτή τη φορά το βρίσκουμε από την συλλογή αντικειμένων που υπάρχει στο scratch.
- Ορίζουμε το μέγεθος της μπάλας με εντολή στο 70%,
- Την αρχική της θέση στις συντεταγμένες Χ=-130 και Υ=0
- Επίσης ρυθμίζουμε την κατεύθυνσή της στις 135 μοίρες ώστε να κινηθεί με κάποια κλίση προς τη ρακέτα.
- Σε ένα μπλοκ για πάντα, βάζουμε την εντολή 'Εάν σε όριο αναπήδησε' για να επιστρέφει όταν φθάνει στην άκρη της οθόνης και
- ορίζουμε να κινείται με 10 βήματα.
- Επίσης μέσα στο 'για πάντα' ελέγχουμε με την εντολή 'Εάν... Τότε εάν το Υ γίνει < από -140 (που σημαίνει ότι το μπαλάκι ξέφυγε από τη ρακέτα και χάσαμε...) και μεταδίδουμε το μήνυμα 'game over'.
- Επίσης δημιουργούμε ένα επιπλέον μπλοκ με την εντολή 'Όταν λάβω το μήνυμα1' από το αντικείμενο Ρακέτα και βάζουμε σε αυτό τις εντολές να στρίβει με έναν τυχαίο αριθμό μοιρών από 160 έως 200 και να κινείται με 10 βήματα.
Ο κώδικας της μπάλας γίνεται ως εξής:
3. Game Over
- Δημιουργούμε ένα νέο αντικείμενο από την ζωγραφική του Scratch στο οποίο με το εργαλείο κειμένου γράφουμε το κείμενο 'GAME OVER'.
Ο κώδικας του αντικειμένου διαμορφώνεται ως εξής:
- Όταν γίνει κλικ στην πράσινη σημαία το αντικείμενο αυτό εξαφανίζεται.
- Όταν λάβει το μήνυμα1 (σημαίνει ότι χάσαμε γιατί η μπάλα ξέφυγε
4. Win
- Δημιουργούμε ένα νέο αντικείμενο από τη ζωγραφική του Scratch στο οποίο με το εργαλείο κειμένου γράφουμε το κείμενο 'Win!!! Bravo!!! good work!!!'
- Δημιουργούμε μια μεταβλητή με το όνομα score με την οποία θα μετράμε το σκορ (κερδίζουμε έναν πόντο κάθε φορά που πετυχαίνουμε ένα μπλοκ).
Ο κώδικας του αντικειμένου Win διαμορφώνεται ως εξής:
- Όταν γίνει κλικ στην πράσινη σημαία (όταν δηλαδή ξεκινά το παιχνίδι)
- Εξαφανίζεται (κρύβεται αυτό το μήνυμα) και
- αρχικοποιούμε το score σε μηδέν, ορίζοντας τη μεταβλητή score σε μηδέν (0).
- Ρυθμίζουμε την εντολή 'Περίμενε ώσπου το score = 12 και μετά
- βάζουμε την εντολή Εμφανίσου (γιατί αφού το score έγινε 12 σημαίνει ότι πετύχαμε όλα τα μπλοκ και νικήσαμε!!!).
- Τέλος βάζουμε την εντολή Σταμάτησέ τα όλα ώστε να τερματιστεί το παιχνίδι.
5. Block
Εισάγουμε το αντικείμενο 'Button3' από τη συλλογή του Scratch
και διαμορφώνουμε τον κώδικά του ως εξής:
- Ορίζουμε το μέγεθός του στο 70%
- Ρυθμίζουμε την κατεύθυνσή του στις 90 μοίρες και βάζουμε την εντολή να εμφανίζεται ξεκινώντας το παιχνίδι.
- Στη συνέχεια χρησιμοποιούμε ένα μπλοκ 'Για πάντα' και
- Ελέγχουμε με την εντολή 'Εάν... Τότε' αν αγγίζει την μπάλα (αντικείμενο ball) οπότε:
- μεταδίδει το μήνυμα 'hit' , μετά εξαφανίζεται και αυξάνεται η μεταβλητή score κατά 1 γιατί πετύχαμε ένα μπλοκ.
- Για να κάνετε το παιχνίδι πιο ενδιαφέρον μπορείτε να ενσωματώσετε τις παρακάτω εντολές αμέσως μετά την εντολή 'μετάδωσε hit' οι οποίες δημιουργούν ένα απλό και ωραίο εφέ όταν πετυχαίνουμε με την μπάλα κάποιο μπλοκ:
6. Αντιγραφή των Block
Αφού ολοκληρώσαμε την δημιουργία του πρώτου μπλοκ, το αντιγράφουμε 12 φορές, κάνοντας δεξί κλικ και διπλασιασμό επάνω στο αντικείμενο Block3 12 φορές.
7. Τελικός έλεγχος
Εάν έχουμε κάνει σωστά όλα τα παραπάνω βήματα το παιχνίδι μας θα είναι έτοιμο.
Καλή διασκέδαση....
Εάν καταλάβατε τη λογική του παραπάνω κώδικα τότε μπορείτε να δημιουργήσετε κι άλλες πίστες με περισσότερα μπλοκ και πιο δύσκολες συνθήκες αυξάνοντας την ταχύτητα της μπάλας κλπ.