Σχήμα 5.5: Στιγμιότυπο από το “top-down” παιχνίδι.
ζωής του, τα entities των αντιπάλων (Enemies) μαζί με τα αντίστοιχα entities που αναπαριστούν
τη μπάρα ζωής τους, καθώς και το entity της κάμερας. Όλα τα παραπάνω entities συνδυάζονται
με τα απαραίτητα components (όπως Transform, Sprite κ.λπ.), ώστε να επιτυγχάνεται η πλήρης
λειτουργικότητά τους.
Σχήμα 5.6: Βασικός χαρακτήρας.
Για την καλύτερη διαχείριση του παίκτη και των αντιπάλων υλοποιήθηκαν αντίστοιχες κλά-
σεις Player και Enemy. Η κλάση Player διαχειρίζεται τις βασικές λειτουργίες του χαρακτήρα,
όπως την κίνηση και την επίθεση, καθώς και τη μπάρα ζωής και τα όρια εντός των οποίων
επιτρέπεται να κινείται. Αντίστοιχα, η κλάση Enemy διαχειρίζεται τη ζωή του αντιπάλου, τα
επιτρεπτά όρια κίνησης, καθώς και την τυχαία περιπλάνησή του στον χώρο. Επιπλέον, υλοποιεί
τη μετάβαση μεταξύ των διαφορετικών καταστάσεων του αντιπάλου (κανονική – μπλε και ενι-
σχυμένη – κόκκινη).
Για τη δημιουργία και τη διαχείριση του νησιού, πάνω στο οποίο κινούνται όλοι οι χαρα-
κτήρες, υλοποιήθηκε η κλάση TileMap. Η κλάση αυτή αναπτύχθηκε στο επίπεδο της Python
(Python API), αν και θα μπορούσε εξίσου να ενσωματωθεί στον πυρήνα της μηχανής (C++), κα-
θώς αποτελεί συχνά χρησιμοποιούμενη λειτουργικότητα σε δισδιάστατα παιχνίδια. Η TileMap
δέχεται ως είσοδο έναν πίνακα, τα στοιχεία του οποίου λειτουργούν ως σημαίες (flags) που
61