background image

 

 

58 

 

    cursor.execute(''' 
        INSERT OR REPLACE INTO topics (topic_name, npc_name, npc_image) VALUES  

        ('Mathematics', ?, ?),  
        ('Geography', ?, ?), 
        ('Astronomy', ?, ?),  

        ('Computer Science', ?, ?), 
        ('Physics', ?, ?),  
        ('Chemistry', ?, ?), 
        ('History', ?, ?),  

        ('Art', ?, ?), 
        ('Music', ?, ?),  
        ('Environmental Science', ?, ?), 
        ('Biology', ?, ?) 

    ''', 
(*math_npc,*geography_npc,*astronomy_npc,*computer_npc,*physics_npc,*chemistry_npc,*history_np
c,*art_npc, *music_npc,*environmental_npc,*biology_npc)) 

 

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

NPC και η εικόνα (sprite) που αναπαριστά το χαρακτήρα είναι ορισμένη με ?. Αυτό συμβαίνει, 

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

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

ξεκινάει το παιχνίδι επιλέγεται τυχαία ο ένας εκ των δύο αυτών χαρακτήρων. Με την εντολή 

INSERT OR REPLACE διασφαλίζεται ότι η τυχαία επιλογή του χαρακτήρα, θα ορίζεται εκ 

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

τυχαία κατά την πρώτη φορά που έτρεξε το παιχνίδι και δημιουργήθηκε η βάση δεδομένων. 

    cursor.execute(''' 

    CREATE TABLE IF NOT EXISTS topics ( 
        id INTEGER PRIMARY KEY AUTOINCREMENT, 
        topic_name TEXT UNIQUE NOT NULL, 

        npc_name TEXT NOT NULL, 
        npc_image TEXT )''') 
    music_npc = random.choice([ 
    ('Ludwig van Beethoven', 'sprites/npcs/Beethoven.png'), 

    ('Wolfgang Amadeus Mozart', 'sprites/npcs/Mozart.png')]) 
    physics_npc = random.choice([ 
    ('Isaac Newton', 'sprites/npcs/Newton.png'), 
    ('Albert Einstein', 'sprites/npcs/Einstein.png')]) 

    math_npc = random.choice([ 
    ('Archimedes', 'sprites/npcs/Archimedes.png'), 
    ('Euclid', 'sprites/npcs/Euclid.png')]) 

    geography_npc = random.choice([ 
    ('Ferdinand Magellan', 'sprites/npcs/Magellan.png'), 
    ('Christopher Columbus', 'sprites/npcs/Columbus.png')]) 
    astronomy_npc = random.choice([ 

    ('Nicolaus Copernicus', 'sprites/npcs/Copernicus.png'), 
    ('Galileo Galilei', 'sprites/npcs/Galileo.png')]) 
    computer_npc = random.choice([ 
    ('Alan Turing', 'sprites/npcs/Turing.png'), 

    ('Charles Babbage', 'sprites/npcs/Babbage.png')]) 
    chemistry_npc = random.choice([