diff options
author | Viljami Ilola <+@hix.fi> | 2024-03-23 20:19:38 +0200 |
---|---|---|
committer | Viljami Ilola <+@hix.fi> | 2024-03-23 20:19:38 +0200 |
commit | 87cd7293498d6b30389e056a59b2e69eb7b3a418 (patch) | |
tree | 392e2e15446a533d0bdc1faddd5a6e2d8fc731ee /src/sliceitoff/enemies | |
parent | b03cb075e7a2042764a355a46d649b187f66343b (diff) |
enemies as group
Diffstat (limited to 'src/sliceitoff/enemies')
-rw-r--r-- | src/sliceitoff/enemies/enemies.py | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/sliceitoff/enemies/enemies.py b/src/sliceitoff/enemies/enemies.py index a3a60a0..aaa41be 100644 --- a/src/sliceitoff/enemies/enemies.py +++ b/src/sliceitoff/enemies/enemies.py @@ -18,11 +18,11 @@ class EnemySprite(pygame.sprite.Sprite): def set_movement(self, movement: tuple): self.movement = movement - def update(self, move = 0): - if move: + def update(self, dt = 0): + if dt: self.position = ( - self.position[0] + self.movement[0] * move, - self.position[1] + self.movement[1] * move) + self.position[0] + self.movement[0] * dt, + self.position[1] + self.movement[1] * dt) self.rect = pygame.Rect( Scaling.scale_to_display(self.position), self.image.get_size()) @@ -46,18 +46,15 @@ class EnemyBall(EnemySprite): self.update() -class Enemies(): +class Enemies(pygame.sprite.Group): def __init__(self, field = None): - self.sprites = pygame.sprite.Group() - self.emerge_enemies() - self.field = field - - def emerge_enemies(self): + super().__init__() for _ in range(3 + (Stats.level-1) * 2): enemy = EnemyBall() enemy.set_position( (randrange(0,300_000), randrange(0,200_000)) ) enemy.set_movement( (randrange(0,200)-100, randrange(0,200)-100) ) - self.sprites.add(enemy) + self.add(enemy) + self.field = field def wall_hit(self, field, enemy): if enemy.rect.x < field.rect.x: @@ -69,10 +66,10 @@ class Enemies(): if ( enemy.rect.y + enemy.rect.h >= field.rect.y + field.rect.h ): enemy.force_up() - def update(self, dt): + def update(self, dt = 0): """ Update sprites basis of dt. dt = milliseconds from last update """ - self.sprites.update(move=dt) - for enemy in self.sprites: + super().update(dt = dt) + for enemy in self.sprites(): for field in self.field.sprites(): if field.rect.contains(enemy): break |