From 85adc89f53763b4390f7e51161a05ab394143152 Mon Sep 17 00:00:00 2001 From: Viljami Ilola <+@hix.fi> Date: Sat, 16 Mar 2024 11:11:56 +0200 Subject: drafting game components --- src/sliceitoff/status/status.py | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/sliceitoff/status/status.py (limited to 'src/sliceitoff/status/status.py') diff --git a/src/sliceitoff/status/status.py b/src/sliceitoff/status/status.py new file mode 100644 index 0000000..afff7f7 --- /dev/null +++ b/src/sliceitoff/status/status.py @@ -0,0 +1,45 @@ +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 + \ No newline at end of file -- cgit v1.2.3