Как изменить картинку персонажа во время игры?

Есть игра, написанная с помощью Pygame. Есть босс, который появляется на каждом 5, 10, 15, 20 уровне. Я хочу, чтобы на каждом уровне была разная картинка.

Я знаю, что могу просто создать 4 разных класса боссов, каждый из которых будет со своей картинкой, но как я могу сделать это с одним классом, но только так, чтобы босс менял картинку на следующем уровне ?

Вот часть класса этого босса:

class AlienBoss(Sprite):

def __init__(self, sw_settings, screen):
    super(AlienBoss, self).__init__()
    self.sw_settings = sw_settings
    self.screen = screen
    
    self.image = pygame.image.load('images/boss.png')
    self.rect = self.image.get_rect()
    self.screen_rect = screen.get_rect()
    
    self.rect.top = self.screen_rect.top
    self.rect.centerx = self.screen_rect.centerx
    
    self.x = float(self.rect.x)
    self.boss_hit = 0

Ответы (1 шт):

Автор решения: Danis

можно в __init__ добавить ещё один аргумент, путь к файлу с картинкой

def __init__(self, sw_settings, screen, image):
    super(AlienBoss, self).__init__()
    self.sw_settings = sw_settings
    self.screen = screen
    
    self.image = pygame.image.load(image) 

и создать массив изображений

images = ["images/boss1.png", "images/boss2.png", "images/boss3.png", "images/boss4.png"]
boss = AlienBoss(sw_settings, screen, images[level // 5 - 1])
→ Ссылка