57
def check_points_square_collision(player_pos, npcs, tile_size):
global score
for npc in npcs.values():
if not npc["points_square_collected"]:
npc_screen_x =npc["pos"].x // tile_size * tile_size
npc_screen_y= npc["pos"].y // tile_size * tile_size - 2 * tile_size
points_square_rect=pygame.Rect(npc_screen_x,
npc_screen_y,
tile_size,
tile_size)
player_rect=pygame.Rect(player_pos.x,player_pos.y, tile_size, tile_size)
if player_rect.colliderect(points_square_rect):
npc["points_square_collected"] = True
initial_num_questions = get_initial_num_questions(user_id, npc["topic"])
score += initial_num_questions
print(f"Score: {score}")
return
Πρόσθετα Χαρακτηριστικά
Επιπλέον χαρακτηριστικά περιλαμβάνουν την υποστήριξη για αντιγραφή και επικόλληση με
Ctrl + C και Ctrl + V. Επιπλέον, με τη χρήση της hasattr εξασφαλίζεται η ομαλή λειτουργία
της μετάβασης από την μία πλευρά του τυπωμένου κειμένου στην άλλη με τα πλήκτρα
αριστερού και δεξιού βέλους, καθώς και για το πλήκτρο backspace
Οι λειτουργίες συνεχίζονται κανονικά μέχρι να απελευθερωθεί το πλήκτρο, εξασφαλίζοντας
μια ομαλή εμπειρία χρήσης.
4.4. Τέταρτη Φάση Ανάπτυξης – Έκδοση 4 της εφαρμογής
Στην τέταρτη φάση της υλοποίησης του παιχνιδιού, το έργο άρχισε να αποκτά την τελική του
μορφή. Ένα από τα κύρια χαρακτηριστικά που προστέθηκαν ήταν οι περισσότερες θεματικές
και NPCs, με τους οποίους πρέπει να συνομιλήσει ο παίκτης. Πλέον διατίθενται 11 θεματικές,
κάθε μία από τις οποίες αντιπροσωπεύεται από έναν NPC, ο οποίος είναι εμπνευσμένος από
ιστορικές προσωπικότητες που σχετίζονται με το εκάστοτε αντικείμενο γνώσης.
Ορισμός Θεματικών και NPCs
Στον πίνακα topics της βάσης δεδομένων ορίζονται οι θεματικές και οι αντίστοιχοι δύο
χαρακτήρες (NPCs), με το όνομα και την εικόνα του κάθε χαρακτήρα να αντιστοιχούν σε
ιστορικές προσωπικότητες. Στην φάση αυτή, προστέθηκαν οι εξής θεματικές: Μαθηματικά,
Γεωγραφία, Αστρονομία, Πληροφορική, Φυσική, Χημεία, Ιστορία, Τέχνη, Μουσική,
Περιβαλλοντική Επιστήμη, Βιολογία.
17
https://www.toppr.com/guides/python-guide/references/methods-and-functions/methods/built-