background image

 

 

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

17

. 

Οι λειτουργίες συνεχίζονται κανονικά μέχρι να απελευθερωθεί το πλήκτρο, εξασφαλίζοντας 

μια ομαλή εμπειρία χρήσης. 

4.4. Τέταρτη Φάση Ανάπτυξης – Έκδοση 4 της εφαρμογής 

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

μορφή. Ένα από τα κύρια χαρακτηριστικά που προστέθηκαν ήταν οι περισσότερες θεματικές 

και NPCs, με τους οποίους πρέπει να συνομιλήσει ο παίκτης. Πλέον διατίθενται 11 θεματικές, 

κάθε μία από τις οποίες αντιπροσωπεύεται από έναν NPC, ο οποίος είναι εμπνευσμένος από 

ιστορικές προσωπικότητες που σχετίζονται με το εκάστοτε αντικείμενο γνώσης. 

 

Ορισμός Θεματικών και NPCs 

 Στον  πίνακα  topics  της  βάσης  δεδομένων  ορίζονται  οι  θεματικές  και  οι  αντίστοιχοι  δύο 

χαρακτήρες  (NPCs),  με  το  όνομα  και  την  εικόνα  του  κάθε  χαρακτήρα  να  αντιστοιχούν  σε 

ιστορικές  προσωπικότητες.  Στην φάση  αυτή, προστέθηκαν οι εξής θεματικές: Μαθηματικά, 

Γεωγραφία,  Αστρονομία,  Πληροφορική,  Φυσική,  Χημεία,  Ιστορία,  Τέχνη,  Μουσική, 

Περιβαλλοντική Επιστήμη, Βιολογία. 

 

 

17

 

https://www.toppr.com/guides/python-guide/references/methods-and-functions/methods/built-

in/hasattr/python-hasattr/