import os import pygame from display import Scaling from images import images class LetterSprite(pygame.sprite.Sprite): def __init__(self, image, x, y): super().__init__() self.image = image self.rect = self.image.get_rect().move(x,y) class Status(): def __init__(self, scaling: Scaling = None): self.scaling = scaling if scaling else Scaling(50,0,0) self.score = 6234823999 self.health = 3 self.updated = True self.sprites = pygame.sprite.Group() def __update_sprites(self): self.sprites.empty() y = 28000 score_str="{:010d}".format(self.score) for letter, x in zip(score_str, range(30000,40000,1000)): self.sprites.add(LetterSprite( images[f"letter_{letter}"], x*self.scaling.scale+self.scaling.left, y*self.scaling.scale+self.scaling.top)) self.updated = False def add_score(self, score_to_add): self.updated = True self.score += score_to_add def get_sprites(self): if self.updated: self.__update_sprites() return self.sprites def __del__(self): pass