Δημιουργία δισδιάστατου παιχνιδιού, τύπου Pacman. 2ο μέρος.

Σχετικά έγγραφα
Δημιουργία δισδιάστατου παιχνιδιού, τύπου Pacman. 1ο μέρος.

Δημιουργία τρισδιάστατου παιχνιδιού οδήγησης 2ο μέρος

Δημιουργία τρισδιάστατου παιχνιδιού οδήγησης 1ο μέρος

Δημιουργία τρισδιάστατου παιχνιδιού οδήγησης 3ο μέρος

Βυζαντινός Ρεπαντής Κολλέγιο Αθηνών 2010

Τεχνολογία Πολυμέσων. Ενότητα 9: Behaviors. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Τεχνολογία Πολυμέσων. Ενότητα 11: Αντίγραφή, Επικόλληση και Καθαρισμός Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Άσκηση 9 Διαφημιστική εφαρμογή κινητού τηλεφώνου

Scratch 2.0 Προκλήσεις

Άσκηση 7 Τρισδιάστατα εφέ (3D effects) στο Director

Το τρίτο παιχνίδι ΛΑΒΥΡΙΝΘΟΣ ΜΕ ΕΜΠΟΔΙΑ

Μάθημα 1: Εισαγωγή. Κάνε κλικ την εντολή "κινήσου" και με το ποντίκι πατημένο μετέφερε τη στη περιοχή σεναρίων.

1ο μέρος 1. Φτιάχνουμε την πίστα. Μια ενδεικτική πίστα φαίνεται παρακάτω:

Τεχνολογία Πολυμέσων. Ενότητα 10: Ανάπτυξη εφαρμογής αναλογικού ρολογιού Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Στέλιος Ξυνόγαλος Επίκουρος Καθηγητής Τμήμα Εφαρμοσμένης Πληροφορικής

Φτιάξε ένα απλό παιχνίδι

ΜΑΘΗΜΑ 2, Έλεγχος ροής προγράμματος ΒΑΣΙΚΗ ΣΥΝΤΑΞΗ:

Φύλλο Εργασίας: Παιχνίδι Λαβύρινθος (MAZE) Προγραμματιστικό Εργαλείο: GAME MAKER. Ονοματεπώνυμο:

Apparta. Η έξυπνη λύση διαχείρισης καταλύματος και κρατήσεων

Δημιουργώντας ένα παιχνίδι λαβυρίνθου(maze game) με εμπόδια

Το δεύτερο παιχνίδι ΤΟΥΒΛΑΚΙΑ

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Θέµα 1 (15%): (απαιτούµενος χρόνος < 15 λεπτά)

Slalom Race Computer Game on Scratch

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Ενότητα: GameMaker Τα βασικά. Δημιουργώντας ένα παιχνίδι µε το GameMaker

Δημιουργία παιχνιδιού με το Game Maker

App Inventor 5ο Μάθημα (Κορώνα γράμματα - επέκταση)

Βασικοί Χειρισµοί του Macromedia Director

ΘΕΜΑ Α Α1. Τι κάνουν οι παρακάτω εικονιζόμενες εντολές; Επιλέξτε το σωστό (μον.6)

Γραφικά υπολογιστών Εργαστήριο 10 Εισαγωγή στα Sprites

Δομή Επανάληψης. 3. Επανέλαβε την κίνηση του αυτοκινήτου ώσπου αυτό να ακουμπήσει στο κόκκινο χρώμα.

Τιμή Τιμή. σκορ. ζωές

Μεταβλητές. Για περισσότερες λεπτομέρειες πάνω στις μεταβλητές θα ήταν χρήσιμο να διαβάσεις το

Πώς το λένε Computer game στο Scratch

Δομή Επιλογής. 1. Αν ο σκύλος ακουμπήσει ένα κόκαλο τότε το κόκαλο εξαφανίζεται και ο παίκτης κερδίζει 10 πόντους.

Texturing, Animation, Lighting, Rendering

Unity Editor #04 Κεντρικό Μενού: Edit, Unity Preferences

Αντικείμενα, συμπεριφορές, γεγονότα

Τεχνολογία Πολυμέσων. Ενότητα 12: Ανάπτυξη εφαρμογής ημερολογίου. Νικολάου Σπύρος Τμήμα Μηχανικών Πληροφορικής ΤΕ

Σύνοψη είτε τις ολοκληρωµένες απαντήσεις

Ας κάνουμε μια γάτα να περπατάει στο Scratch 2.0

Εργασία για το Facility Game Μάθημα: Δομές Δεδομένων Σωτήρης Γυφτόπουλος

FPU EJ. Κατάλογος περιεχομένων

Η Δραστηριότητα 1 του Φύλλου Εργασίας 1 έχει ως στόχο την εξοικείωση με το περιβάλλον του scratch και πιο συγκεκριμένα με τις μορφές και τα σκηνικά.

Παλέτα Κίνηση. Για να μετακινήσουμε ένα αντικείμενο χρησιμοποιούμε την εντολή ΚΙΝΗΣΟΥ

στο μένες ις ε ε μειώ αι σ σύντο Game Maker 8.1 Ν του συ

Κλιμάκιο Πληροφορικής Σεμινάρια για τα λογισμικά κλειστού τύπου Κύκλος Α

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ 23/04/2012. Α. Να απαντήσετε με Σ ή Λ στις παρακάτω προτάσεις:

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

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

Προτεινόμενες εργασίες Προγραμματισμού Διαδικτύου

ΟΔΗΓΙΕΣ ΓΙΑ ΧΡΗΣΗ ΤΟΥ ΕΡΓΑΛΕΙΟΥ RATIONAL ROSE

Πώς εισάγουμε μια νέα έννοια χρησιμοποιώντας το εργαλείο Create

Games: Εξοικείωση με το περιβάλλον του Game Maker μέσα από την κατασκευή ενός παιχνιδιού

Μαθήματα Scratch -Δραστηριότητα 1 Παλέτα Κίνηση

Interactive Power Point

"ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ" (ΕΜ102), ΕΡΓΑΣΙΑ 1η

App Inventor 3ο Μάθημα (Ζάρια - επέκταση)

Tank Rescue Computer Game σε Scratch

Αριστείδης Παλιούρας Ανακαλύψτε το Scratch 2

Το σκηνικό μας είναι πλέον έτοιμο για εισάγουμε τα υπόλοιπα αντικείμενα του έργου μας.

ΟΔΗΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ ΚΑΙ ΧΡΗΣΗΣ ΤΟΥ. WiFi V-Timer ΕΚΔΟΣΗ 1 Η

3 ο εργαστήριο Scratch for NinjaCoders

ΖΥΓΟΥΡΑΣ ΒΑΣΙΛΕΙΟΣ ΚΑΜΠΑΡΜΠΑΚΗΣ ΠΑΥΛΟΣ

Εποπτεία μαθήματος στο LAMS του ΠΣΔ

Διαγραφή και Εισαγωγή χαρακτήρα

Επεξεργασία Κειμένου Open Office. Κείμενο: Δραστηριότητα Ανοίξτε τον κειμενογράφο OpenOffice.writer ακολουθώντας την διαδρομή:

Δημιουργία παιχνιδιού με το Game Maker 8.1 Lite 1

Χρήση html editor. Περιεχόμενα. 1. Εισαγωγή/διαμόρφωση κειμένου.

ΜΑΘΗΜΑ 10 Ο ΟΡΓΑΝΩΣΗ ΤΗΣ Β ΓΙΑ ΧΡΗΣΤΕΣ (NON-EXPERTS) Α. ΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ ΕΠΙΛΟΓΩΝ 1. TOOLS DATA UTILITIES SWITCHBOARD MANAGER YES

WiFi V-Timer ΕΚΔΟΣΗ 2Η

ΣΚΗΝΙΚΟ ΥΠΟΒΑΘΡΑ ΑΡΧΙΚΗ

Κατερίνα Χατζηφωτεινού. Αλγοριθμικά παιχνίδια & Kodu

Δημιουργία και επεξεργασία διανυσματικών επιπέδων στο QGIS

ΔΙΑΛΕΞΗ ΙΙ ΕΝΑ ΒΗΜΑ ΠΑΡΑΠΑΝΩ ΜΕ SCRATCH ΕΠΙΛΕΓΩΝΤΑΣ & ΕΠΑΝΑΛΑΜΒΑΝΟΝΤΑΣ

α) Πώς παίρνουμε αποφάσεις στην καθημερινή μας ζωή; Συμπληρώσετε τον παρακάτω πίνακα: τότε

Αγώνες αυτοκινήτου Παιχνίδι για 2 παίκτες

Εισαγωγή στην επανάληψη

Προγραμματισμός. Το περιβάλλον του scratch

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

ΚΑΤΑΣΚΕΥΗ ΠΑΙΧΝΙ ΙΟΥ...4

Είσοδος σε συνεδρία της Blackboard και βασικές ρυθμίσεις

Οδηγίες για προσθήκη Web Frames Tools to the Quick Access Bar σε μεταγενέστερη έκδοση του Word

Τα Φύλλα Εργασίας αφορά την εκμάθηση της εκτέλεσης της δομής επιλογής μέσα από το περιβάλλον του SCRATCH.

Άσκηση 5 Firefox Αποθήκευση αρχείων

Create Sprite at Runtime

ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΤΗΣ. Εργαλειοθήκη Παρουσιάζετε το έργο σας Εκκινείτε τα σενάριά σας Σταματάτε όλα τα σενάρια. Οι 8 ομάδες της Παλέτας εντολών

A7.2 Δημιουργία Απλής Γραφικής Εφαρμογής σε Περιβάλλον Scratch

Αντανάκλαση κειμένου (Text Reflection)

ΕΠΑΝΑΛΗΠΤΙΚΕΣ ΔΟΜΕΣ. Γενική μορφή της επανάληψης επανάλαβε φορές [... ενέργειες...]

Δομές Δεδομένων. Σημειώσεις από το εργαστήριο για τον χειρισμό του προγράμματος Eclipse. 5ο εξάμηνο. v1.0

Γραφικά υπολογιστών Εργαστήριο 1 Εισαγωγή στην Python

Εγχειρίδιο χρήσης Εκπαιδευτικού λογισμικού «Αθηνά Core 4»

Αλλαγή της εμφάνισης κειμένου: μέγεθος γραμματοσειράς, είδος γραμματοσειράς

Ξεκινώντας με το MIT App Inventor 2 Μάθημα 4 Δημιουργώντας ένα απλό παιχνίδι (Κορώνα Γράμματα)

Παλέτα Κίνηση. Καλό είναι πριν ξεκινήσετε το παρακάτω φυλλάδιο να έχετε παρακολουθήσει τα παρακάτω δύο videos: a) Εισαγωγή στο περιβάλλον του Scratch

Οδηγίες Χρήσης Εφαρμογής

ΛΕΙΤΟΥΡΓΙΑ ΟΠΛΙΣΗΣ ΚΑΙ ΑΦΟΠΛΙΣΗΣ ΣΥΝΑΓΕΡΜΟΥ ΜΕ ΧΡΟΝΟΚΑΘΗΣΤΕΡΗΣΗ.

Δημιουργία συναλλασσόμενου στην Γενική Λογιστική και αυτόματη σύνδεση του με λογαριασμό Πελάτη ή Προμηθευτή.

Transcript:

Μάθημα 5ο Δημιουργία δισδιάστατου παιχνιδιού, τύπου Pacman. 2ο μέρος.

Σε αυτό το μάθημα, θα χρησιμοποιήσουμε το παιχνιδάκι που κατασκευάσαμε την προηγούμενη φορά και θα το εμπλουτίσουμε με νέα χαρακτηριστικά. Αρχικά, θα δημιουργήσουμε ένα κουμπάκι, το οποίο όταν το πατάμε θα ξεκινά μία νέα πίστα στο παιχνίδι. Αυτό θα γίνεται με το να δημιουργούνται δυναμικά sprites. Αυτά θα τοποθετούνται σε τυχαίες θέσεις μέσα στην πίστα. Το δεύτερο χαρακτηριστικό που θα υλοποιηθεί στο παιχνίδι είναι ένα χρονόμετρο. Αυτό θα ξεκινά να μετράει τον χρόνο από τη στιγμή που θα πατήσουμε το κουμπί δημιουργίας νέας πίστας (όταν, δηλαδή, θα ξεκινά και το παιχνίδι). Τέλος, θα τοποθετήσουμε ένα εμπόδιο, το οποίο και θα εμποδίζει την κίνηση του pacman (δεν θα μπορεί να περάσει από μέσα του). Ξεκινάμε ανοίγοντας το παιχνίδι που φτιάξαμε την προηγούμενη φορά και εφαρμόζουμε τις παρακάτω αλλαγές: 1. Σβήνουμε όλες τις κουκκίδες που έχουμε τοποθετήσει στο stage. 2. Δημιουργούμε όλα τα απαραίτητα αντικείμενα και τα τοποθετούμε στο stage: Φτιάχνουμε ένα timer (κείμενο) Φτιάχνουμε ένα εμπόδιο για τον pacman Δημιουργούμε ένα κουμπί για τη δημιουργία νέας πίστας (κατάσταση όπου το ποντίκι δεν είναι πάνω από το κουμπί) Δημιουργούμε ένα κουμπί για τη δημιουργία νέας πίστας (κατάσταση όπου το ποντίκι είναι πάνω από το κουμπί) Τοποθετούμε το πρώτο κουμπί στο stage 3. Αλλάζουμε τις ονομασίες των cast members (από την μπάρα με τις ιδιότητες) έτσι ώστε να εναρμονίζονται με αυτές που χρησιμοποιούνται στον παρακάτω κώδικα. Επίσης, αλλάζουμε και τις ονομασίες των sprites που τοποθετούμε στο stage. Φυσικά, μπορείτε να δώσετε και δικές σας ονομασίες, αρκεί να κάνετε τις κατάλληλες αλλαγές στον κώδικα. Εικόνα 1: Ονομασίες των cast members 4. Κάνουμε διάφανα τα sprites που έχουμε τοποθετήσει στο stage, επιλέγοντας Ink Transparent από το Property Inspector.

Εικόνα 2: Επιλογή για διάφανα sprites 5. Τοποθετούμε ένα marker στο 5ο frame κάνοντας κλικ με το ποντίκι στη λευκή γραμμή που βρίσκεται πάνω ακριβώς από τα frames. Δίνουμε στο marker την ονομασία continue. Εικόνα 3: Marker "continue" 6. Τέλος, κάνουμε τις παρακάτω αλλαγές στον κώδικα του παιχνιδιού: Κώδικας για το script που βρίσκεται στο frame 1 Global gcounter Global thetimer Global countframes on exitframe me thetimer=0 --midenizo tin thetimer gcounter=0 --midenizo tin gcounter countframes=0 --midenizo tin countframes member("scoretable").text=string(gcounter) --sto property inspector, sto member dino to onoma scoretable member("timer").text=string(thetimer) -- se ena alo ypodoxea dimiourgo ton timer kai onomazo timer Κώδικας για το script που βρίσκεται στο τελευταίο frame Global thetimer Global countframes on exitframe me --ka8e fora pou pernas apo ayto to frame thesecperframe=integer(_movie.frametempo) --na kanis tin secperframe isi me to tempo tis tainias countframes=countframes+1 --ay3anis to countframes kata 1 if countframes=thesecperframe then --kai otan ginei iso me to tempo tis tainias px40fps thetimer=thetimer+1 --tote ay3ane ton timer kata 1.dld na ginei 1sec member("timer").text=string(thetimer) --dei3to mas sto member timer countframes=0 --midenise tin countframes gia na 3ekinisei 3ana to metrima if go to the frame --mine sto sygekrimeno frame,giati an vgei 8a stamatisei na metraei

Τώρα πρέπει να προγραμματίσουμε κατάλληλα το κουμπί, έτσι ώστε όταν πηγαίνει το ποντίκι από πάνω του να αλλάζει μορφή, όπως επίσης και να προγραμματίσουμε την συμπεριφορά του όταν κάνουμε κλικ πάνω του. Επιλέγουμε το sprite που περιέχει το κουμπί στο stage, και στο Property Inspector ανοίγουμε την καρτέλα Behaviors. Εκεί θα δούμε ένα κουμπάκι με ένα σταυρό. Μόλις κάνουμε κλικ πάνω του εμφανίζεται ένα μενού, στο οποίο εμφανίζονται τα behavior scripts που υπάρχουν στο παιχνίδι μας. Επιλέγουμε το New Behavior. Θα ανοίξει ένα παραθυράκι, στο οποίο δίνουμε το όνομα που θα έχει το cast member με το script. Αφού πατήσουμε ΟΚ, κάνουμε edit το cast member με το script και γράφουμε τον παρακάτω κώδικα. Εικόνα 4: Εφαρμόζοντας ένα behavior στο κουμπί Κώδικας για το behavior script του κουμπιού on mousedown me --otan pati8ei to kubi createnewpista --na paei ektelesei tib createnewpista _movie.go("continue") --i "roi tis tainias" na paei sto marker continue on mouseenter --otan perasei apo pano to podiki sprite("button").member=member("button_on") --to sprite button na to adikatastisei me to button_on on mouseleave --otan fygei to podiki apo pano sprite("button").member=member("button_off") --na adikatastisi to sprite button me to button_off on createnewpista repeat with newsprite=100 to 129 --epanelave apo 100 mexri 129 ta e3is _movie.puppetsprite(newsprite, true) --metatrepei to newsprite se puppet sprite(newsprite).member=member("voula_red") --kanume ti voula_red na ginei oti kai to newsprite dld puppet sprite(newsprite).ink=1 --dinume sto newsprite tin idiotita transparent x=random(650) +20+random(newsprite) --dinei mia tyxaia timi sto x y=random(450) +20+random(newsprite) -- >> >> sto y sprite(newsprite).loc=point(x,y) --dinei aytes tis sydetagmenes sto newsprite pou 8a dimiurgi8ei repeat Τέλος, το movie script θα πρέπει να έχει την παρακάτω μορφή:

global gcounter on keydown case (_key.keycode) of 123: leftmove 126: upmove 125: downmove 124: rightmove case bootest=false Κώδικας για το movie script repeat with i = 100 to 129 if sprite(i).within(sprite("pac")) then bootest=true sprite(i).loc=point(-1000,-1000) gcounter=gcounter+10 member("scoretable").text=string(gcounter) exit repeat if repeat updatestage --dimiurgo mia apagoreytiki bara kai tin topo8eto epano de3ia if sprite("obstacle").intersects(1)=true then --an to 11(bara) akubisi to 1(packman) tote oldx=sprite("pac").loch --apo8ikeyse to horizontal location tu packman oldy=sprite("pac").locv --kai to vertical location tu packman sprite("pac").loc=point(oldx,oldy+20) --kai kane to location tu packman iso me to oldx kai to oldy ay3imeno kata 20 if if bootest=true then beep 1 --updatestage keydown on leftmove sprite("pac").rotation=0 sprite("pac").loc=sprite("pac").loc + point(-10,0) if on upmove sprite("pac").loc=sprite("pac").loc + point(0,-10) sprite("pac").rotation=90 if on downmove

sprite("pac").loc=sprite("pac").loc + point(0,10) sprite("pac").rotation=0 sprite("pac").rotation=270 if on rightmove sprite("pac").loc=sprite("pac").loc + point(10,0) sprite("pac").rotation=0 sprite("pac").rotation=180 if Αφού γίνουν όλες οι απαραίτητες αλλαγές, το παιχνίδι θα πρέπει να φαίνεται περίπου όπως στις παρακάτω εικόνες. Εικόνα 5: Το stage μετά τις αλλαγές Εικόνα 6: Το score μετά τις αλλαγές

Άσκηση για το σπίτι Χρησιμοποιώντας σαν βάση το παιχνίδι που φτιάξατε κατά τη διάρκεια του μαθήματος, να προσθέσετε όλες τις απαραίτητες αλλαγές έτσι ώστε: 1. Κατά την έναρξη του παιχνιδιού να ακούγεται ένας ήχος, ο οποίος θα υποδηλώνει την έναρξη. 2. Να δημιουργήσετε 3 νέα εμπόδια, τα οποία ο pacman δεν θα μπορεί να διασχίσει. 3. Να δημιουργήσετε δύο ειδών κουκκίδες, έστω πράσινες και κόκκινες, οι οποίες και θα χαρίζουν στον παίκτη διαφορετικούς πόντους. Κάθε πράσινη κουκκίδα θα δίνει 5 πόντους, ενώ κάθε κόκκινη θα δίνει 10. 4. Το παιχνίδι να τερματίζεται όταν ο παίκτης καταφέρει να μαζέψει όλες τις κουκκίδες. 5. Να υπάρχει ένα χρονικό όριο (π.χ. 30 δευτερόλεπτα), μέσα στο οποίο ο παίκτης πρέπει να μαζέψει όλες τις κουκκίδες. Εάν τελειώσει ο χρόνος, το παιχνίδι θα τερματίζεται. 6. Όποτε τερματίζεται το παιχνίδι, θα εμφανίζεται ένα μήνυμα τέλους, π.χ. Game over, και θα εμφανίζεται το τελικό σκορ του παίκτη, καθώς και ο χρόνος που χρειάστηκε.