background image

 

 

67 

 

 Inventory 

 

Εικόνα 29.Διαθέσιμα αντικείμενα στο Inventory 

 Ένα από τα βασικά στοιχεία του παιχνιδιού είναι το Inventory, το οποίο αποθηκεύει τα 

αντικείμενα που συλλέγονται από τον παίκτη. Η επιφάνεια του Inventory δημιουργήθηκε μέσω 

της  συνάρτησης  draw_inventory_surface(),  η  οποία  έχει  ως  στόχο  την  εμφάνιση  των 

αντικειμένων που ο παίκτης πρέπει να συλλέξει από τους NPCs. Η επιφάνεια γεμίζει αρχικά με 

μαύρο  χρώμα  και  στη  συνέχεια  τα  αντικείμενα  εμφανίζονται  με  συγκεκριμένο  πλάτος  (80 

pixels)  και  απόσταση  μεταξύ  τους  (20  pixels).  Η  εικόνα  κάθε  αντικειμένου  φορτώνεται 

δυναμικά,  και  αν  το  αντικείμενο  δεν  έχει  συλλεχθεί,  εμφανίζεται  με  ημιδιαφάνεια  για  να 

υποδείξει στον παίκτη ότι δεν έχει αποκτηθεί ακόμη.  

   def draw_inventory_surface(surface, npcs): 
        #fill the surface with black colour 
        surface.fill(pygame.Color('black'))   

        #width of each point rectangle 
        rect_width = 80   
        spacing = 20 

        for i, npc in enumerate(npcs.values()): 
            rect_x = i * (rect_width + spacing) + 20             
            #load the collectable items image 
            collectable_image=pygame.image.load(npc 

            ["collectable_image"]).convert_alpha() 
            #resize the image for the inventory 

                  collectable_image  =  pygame.transform.scale(collectable_image,  (rect_width, 
rect_width)) 

            if not npc["collectable_item_collected"]: 
                collectable_image.set_alpha(100) 
            surface.blit(collectable_image, (rect_x, 10))