background image

Πίνακας 5.3 -- Συνέχεια από την προηγούμενη σελίδα

Engine Class / API

Methods / Members Used

ge.Intensity_type_e

Gaussian, SmoothStep

ge.compute_AABB2D()

Free function

ge.intersect()

Free function

Στη συνέχεια παρουσιάζεται αρχικά μια συνοπτική περιγραφή του παιχνιδιού. Έπειτα ανα-

λύεται η δομή της σκηνής και τα βασικά αντικείμενα που τη συνθέτουν, καθώς και η χρήση

ορισμένων components. Τέλος, παρουσιάζεται η υλοποίηση της λογικής του παιχνιδιού.

5.1.1

Περιγραφή του παιχνιδιού

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

στον χρήστη: η πρώτη επιτρέπει την έξοδο από το παιχνίδι (Quit), ενώ η δεύτερη την έναρξη

του παιχνιδιού (Start).

Όπως έχει ήδη αναφερθεί, το παιχνίδι είναι δισδιάστατο. Υπάρχει ένας βασικός χαρακτήρας

(player), ο οποίος μπορεί να κινείται δεξιά και αριστερά στον χάρτη. Επιπλέον, έχει τη δυνατό-

τητα να επιτίθεται σε τυχόν αντιπάλους, καθώς και να πραγματοποιεί άλματα.

Σχήμα 5.1: Βασικός χαρακτήρας (Sprite)

Όλες οι παραπάνω ενέργειες πραγματοποιούνται μέσα σε μία σκηνή (χάρτη), ενώ κατά τη

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

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

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

μονάδα από το σύνολο της ζωής του.

Στη σκηνή, σε διάφορα σημεία του χάρτη, είναι τοποθετημένοι αντίπαλοι οι οποίοι κινούνται

περιοδικά δεξιά και αριστερά. Κάθε αντίπαλος διαθέτει επίσης μπάρα ζωής αποτελούμενη από

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

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

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

η μπάρα ζωής ενός αντιπάλου μηδενιστεί, ο αντίπαλος αφαιρείται από τη σκηνή. Ο παίκτης

έχει επίσης τη δυνατότητα να προσπεράσει έναν αντίπαλο και να επιστρέψει αργότερα για να

53