Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ Στο παιχνίδι υπάρχουν τουβλάκια διαφόρων χρωμάτων. Σκοπός του παιχνιδιού είναι να καταστραφούν όλα τα τουβλάκια. Ο παίκτης χειρίζεται από το πληκτρολόγιο μία ρακέτα. Ένα μπαλάκι κινείται τυχαία. Ο παίκτης προσπαθεί να χτυπήσει το μπαλάκι και να το κατευθύνει προς τα τουβλάκια. Όταν το μπαλάκι ακουμπήσει ένα τουβλάκι, το τουβλάκι εξαφανίζεται και ο παίκτης παίρνει βαθμούς. Αν ο παίκτης δεν καταφέρει να πετύχει το μπαλάκι και το μπαλάκι βγει «έξω», το παιχνίδι τελειώνει. Για να δημιουργήσουμε το παιχνίδι θα πρέπει να δημιουργήσουμε: το δωμάτιο (room) το σκηνικό (background) τα τοιχώματα τοίχου (sprites που ελέγχονται από τον υπολογιστή) τη ρακέτα (sprite που ελέγχεται από τον χρήστη) τα τουβλάκια σε τέσσερα χρώματα (sprites που ελέγχονται από τον υπολογιστή) το μπαλάκι (sprite που ελέγχεται από τον υπολογιστή) και μια μαύρη γραμμή που θα είναι το όριο για το μπαλάκι (deadline) Στη συνέχεια θα καθορίσουμε τις συμπεριφορές για: Τη μπάλα: πώς κινείται, τη σύγκρουση της με τη ρακέτα, τον τοίχο και το deadline Τη ρακέτα: τη σύγκρουσή της με τον τοίχο και το μπαλάκι και την κίνησή της όπως καθορίζεται από τον χρήστη (αριστερό/δεξί βέλος ή κανένα πλήκτρο) Το τουβλάκι: σύγκρουση με το μπαλάκι Επίσης, θα εισάγουμε ήχους που θα ακούγονται όταν το μπαλάκι χτυπάει στον τοίχο, τη ρακέτα, τα τουβλάκια και το deadline. - 1 -
Τέλος, θα πρέπει να: υπολογίζεται η βαθμολογία (αυξάνεται όταν το μπαλάκι χτυπάει το τουβλάκι) καταστρέφεται το τουβλάκι όταν το χτυπάει το μπαλάκι ολοκληρώνεται το παιχνίδι και να γίνεται επανεκκίνηση 1ο βήμα: Εισαγωγή των Sprites Επιλέξτε στο μενού Resources Create Sprite ή κάντε κλικ στο κουμπί Στη φόρμα που ανοίγει πατήστε το κουμπί Load Sprite Στο παράθυρο που εμφανίζεται περιηγηθείτε στον φάκελο Maze - Platform (βρίσκεται μέσα στο φάκελο εγκατάστασης του Game Maker), ανοίξτε την εικόνα wall-block.png και δώστε στο sprite κατάλληλο όνομα, π.χ. spr-wall και πατήστε ΟΚ. Με τον ίδιο τρόπο δημιουργήστε τα ακόλουθα sprites: spr-raketa (αρχείο bat_huge.png στον φάκελο Bouncing Balls) spr-ball (αρχείο ball_pinball.png στον φάκελο Bouncing Balls) spr-t-red (αρχείο stone_normal_red.png στον φάκελο Stones) spr-t-yellow (αρχείο stone_normal_yellow.png στον φάκελο Stones) spr-t-green (αρχείο stone_normal_green.png στον φάκελο Stones) spr-t-pink (αρχείο stone_normal_pink.png στον φάκελο Stones) spr-dead-line (αρχείο lava_strip12.png στον φάκελο Maze - Platform) Αποθηκεύστε την εργασία σας πατώντας Save στο μενού File και επιλέγοντας κατάλληλο όνομα και φάκελο αποθήκευσης. 2ο βήμα: Δημιουργία των Objects Τα sprites είναι μόνο εικόνες και δεν κάνουν τίποτα (μετακίνηση, αντίδραση στο κλικ του ποντικιού, κλπ.). Πρέπει να δημιουργηθούν objects (αντικείμενα) τα οποία να συνδεθούν με αντίστοιχα sprites. Για να δημιουργήσετε ένα object, επιλέξτε στο μενού Resources Create Object ή κάντε κλικ στο κουμπί - 2 -
Πρώτα δημιουργήστε το αντικείμενο obj-wall από το sprite spr-wall. Το αντικείμενο αυτό πρέπει να είναι Visible και Solid. Με παρόμοιο τρόπο δημιουργήστε τα αντικείμενα: obj-raketa, obj-ball, obj-t-red, obj-t-yellow, obj-t-green, obj-t-pink και obj-dead-line. Το τελευταίο από αυτά (obj-dead-line) δεν πρέπει να είναι ορατό. 3ο βήμα: Δημιουργία Δωματίου (Room) Μετά τον ορισμό των αντικειμένων πρέπει να δημιουργηθεί ένα δωμάτιο (room), για να τοποθετηθούν σε αυτό. Για να δημιουργήσετε ένα room, επιλέξτε στο μενού Resources Create Room ή κάντε κλικ στο κουμπί Εμφανίζεται η φόρμα του δωματίου, στα αριστερά της οποίας υπάρχουν τρεις καρτέλες: objects, settings, backgrounds. Στα δεξιά υπάρχει προς το παρόν μια άδεια περιοχή που είναι ο πραγματικός χώρος του δωματίου και σε αυτόν θα τοποθετηθούν τα αντικείμενα (objects). Κάτω αριστερά πατήστε στο εικονίδιο μενού και επιλέξτε το obj-wall. Τοποθετήστε με κλικ στιγμιότυπα του τοίχου και μετά συνεχίστε με τα χρωματιστά τουβλάκια, τη ρακέτα, τη μπάλα και την αόρατη γραμμή. Πατήστε το πράσινο checkmark σημάδι, για να αποθηκευθεί και να κλείσει η φόρμα του δωματίου. Αποθηκεύστε το παιχνίδι! 4ο βήμα: Δημιουργία Σκηνικού (Background) Για να κάνουμε ωραιότερο το παιχνίδι μας, μπορούμε να προσθέσουμε ένα φόντο (background) της επιλογής μας. Επιλέξτε στο μενού Resources Create Background ή κάντε κλικ στο κουμπί Στη φόρμα που εμφανίζεται δώστε στο φόντο ένα κατάλληλο όνομα (π.χ. back-wood) και πατήστε το κουμπί Load Background. Στο παράθυρο που εμφανίζεται περιηγηθείτε στον φάκελο Tutorial1 (βρίσκεται μέσα στον φάκελο εγκατάστασης του Game Maker) και ανοίξτε την εικόνα wood.gif (ξύλινο φόντο). Πατήστε ΟΚ, για να κλείσει η φόρμα. Το φόντο πρέπει να εμφανίζεται στη λίστα στα αριστερά. - 3 -
Στη συνέχεια, επιλέξτε με διπλό κλικ το room0 που δημιουργήσατε, επιλέξτε την καρτέλα Background και από την αναδυόμενη λίστα επιλέξτε το back-wood. 5ο βήμα: Καθορισμός Συμπεριφορών obj-ball Create Event Move Fixed Αρχικά θα κάνουμε την μπάλα να κινείται όταν αυτή δημιουργείται. Στη φόρμα του obj-ball πατήστε το κουμπί Add Event και στη φόρμα που θα εμφανιστεί επιλέξτε το Create event. Στη συνέχεια προσθέστε κατάλληλο action τραβώντας το στη λίστα Actions: Move Fixed (καρτέλα move). Στο παράθυρο που ανοίγει πατήστε στα βελάκια που κινούν την μπάλα πλάγια, ορίστε την ταχύτητα π.χ. στο 5 και πατήστε ΟΚ. Collision obj-wall και obj-t-red, obj-t-yellow, obj-tgreen, obj-t-pink Όταν η μπάλα κτυπά στον τοίχο ή στα τουβλάκια θα ανακλάται. Την καταστροφή του τούβλου και το σκορ που κτύπησε η μπάλα πάνω στο τούβλο θα το βάλουμε στις ιδιότητες του κάθε τούβλου ξεχωριστά. Εδώ, αργότερα, μπορούμε να βάλουμε ήχο τουλάχιστον στις περιπτώσεις που κτυπά η μπάλα ένα τουβλάκι. Collision obj-dead-line Όταν η μπάλα κτυπήσει το dead-line τότε το παιχνίδι έχει τελειώσει. Στη φάση αυτή, θα ξεκινάει πάλι από την αρχή! Έτσι, οι ενέργειες που θα γίνουν είναι: destroy the instance (στον φάκελο Objects - main1) sleep 3 seconds (στον φάκελο Timing - main2) restart the game (στον φάκελο Game main2) Πατήστε ΟΚ για να ολοκληρώσετε την επεξεργασία του obj-ball. - 4 -
obj-raketa Η ρακέτα θα κινείται δεξιά αριστερά. Όταν συγκρούεται με τον τοίχο θα ανακλάται και όταν συγκρούεται με την μπάλα θα την ανακλά. Keyboard Left Key Start Moving in a Direction Εδώ ορίζουμε ότι αν πατηθεί το αριστερό βελάκι τότε θα μετακινηθεί προς τα αριστερά η ρακέτα με ταχύτητα 5. Δες εικόνα! Keyboard Right Key Start Moving in a Direction Ίδιο με το παραπάνω με τη μόνη διαφορά ότι η κίνηση θα είναι προς τα δεξιά. Keyboard No Key Start Moving in a Direction Εδώ ορίζουμε ότι όταν δεν πατιέται κάποιο πλήκτρο στο πληκτρολόγιο, η ρακέτα δεν κινείται. Collision obj-wall Collision obj-ball Πατήστε ΟΚ για να ολοκληρώσετε την επεξεργασία του obj-raketa. obj-t-red Όταν κτυπά η μπάλα ένα από τα τουβλάκια πρέπει αυτό να καταστρέφεται και θα πρέπει να αυξάνει στο σκορ. Collision obj-ball Αν θέλουμε, μπορούμε να βάλουμε διαφορετικό σκορ για την καταστροφή διαφορετικού χρώματος τούβλου. Π.χ. για το obj-t-red σκορ 30, για το obj-t-yellow σκορ 40, για το obj-t-green σκορ 50 και για το obj-t-pink σκορ 60. Πατήστε ΟΚ για να ολοκληρώσετε την επεξεργασία του obj-t-red. - 5 -
obj-t-yellow, obj-t-green, obj-t-pink Δημιουργήστε τα αντίστοιχα γεγονότα για τα υπόλοιπα τουβλάκια βάζωντας στο obj-t-yellow σκορ 40, στο obj-t-green σκορ 50 και στο obj-t-pink σκορ 60. 6ο βήμα: Έλεγχος του παιχνιδιού Επιλέξτε στο μενού Run Run normally ή κάντε κλικ στο κουμπί Αν ακολουθήσατε σωστά τα προηγούμενα βήματα, τότε θα εξαφανιστεί το παράθυρο του Game Maker και θα εμφανιστεί ένα παράθυρο στο οποίο θα μπορείτε να παίξετε το παιχνίδι. Αν κάτι δεν πήγε καλά πατήστε το πλήκτρο Esc για να τερματιστεί το παιχνίδι και να επιστρέψετε στο Game Maker. Αν όλα πήγαν καλά παρατηρήστε ότι το συνολικό σκορ από τα τούβλα της πίστας ήταν 1120. 7ο βήμα: Προσθήκη ήχου (Sound) Μπορούμε να προσθέσουμε ήχους... 8ο βήμα: Μπορούμε να προσθέσουμε και άλλες πίστες; obj-raketa2 Δημιουργώ το sprite spr-raketa2 με εικόνα το bat_large.png που βρίσκεται στο φάκελο Bouncing Balls. Δημιουργώ ένα αντίγραφο του object obj-raketa και το ονομάζω obj-raketa2 και στη συνέχεια δημιουργώ το room2 (αντίγραφο του room1 το οποίο αλλάζω). room2 obj-ball Για να μπορέσει να δουλέψει η επόλενη πίστα κάνω την εξής αλλαγή: - 6 -