diff options
| author | Viljami Ilola <+@hix.fi> | 2024-03-16 15:11:12 +0200 | 
|---|---|---|
| committer | Viljami Ilola <+@hix.fi> | 2024-03-16 15:11:12 +0200 | 
| commit | 3d1e8a068f98a32e0146d8e9ab58dea49fbb4c74 (patch) | |
| tree | 013814df21967af7dc9dfb390fd6de9770799616 /src/sliceitoff/player/player.py | |
| parent | 77d104cced553b8dfc9896cb456bd039807ed6c6 (diff) | |
controls and gamelogic draft
Diffstat (limited to 'src/sliceitoff/player/player.py')
| -rw-r--r-- | src/sliceitoff/player/player.py | 58 | 
1 files changed, 58 insertions, 0 deletions
diff --git a/src/sliceitoff/player/player.py b/src/sliceitoff/player/player.py new file mode 100644 index 0000000..e9cb569 --- /dev/null +++ b/src/sliceitoff/player/player.py @@ -0,0 +1,58 @@ +import os +import pygame + +from display import Scaling +from images import Images + +class PlayerSprite(pygame.sprite.Sprite): +    def __init__(self, image, pos): +        super().__init__() +        self.image = image +        x, y = self.image.get_size() +        x = pos[0] - x // 2 +        y = pos[1] - y // 2 +        self.rect = self.image.get_rect().move(x,y) + +class Player(): +    def __init__(self, field = None): +        self.field = field +        self.position = (20_000, 14_000) +        self.direction = False +        self.lazer = False +        self.sprites = pygame.sprite.Group() +        self.updated = True + +    def __update_sprites(self): +        self.sprites.empty() +        image = Images.surfaces['player_00'] +        if self.direction: +             image = pygame.transform.rotate(image, 90) +        self.sprites.add(PlayerSprite( +                image, +                Scaling.scale_to_display(self.position) )) +        if not self.lazer: +            self.updated = False +         +    def set_position(self, pos): +        if not self.lazer: +            self.position = Scaling.scale_to_internal(pos) +        self.updated = True +         +    def get_sprites(self): +        if self.updated: +            self.__update_sprites() +        return self.sprites +         +    def set_lazer(self): +        # self.lazer = True +        # self.updated = True +        self.field.slice(self.position, self.direction, 1_000) + +    def set_direction(self): +        if not self.lazer: +            self.direction = not self.direction +            self.updated = True + +    def __del__(self): +        pass +        
\ No newline at end of file  |