diff options
author | Viljami Ilola <+@hix.fi> | 2024-03-18 13:47:13 +0200 |
---|---|---|
committer | Viljami Ilola <+@hix.fi> | 2024-03-18 13:47:13 +0200 |
commit | b99e522de33bc97e193a51692db856f586921286 (patch) | |
tree | 2a2af315c14f84239997fc1b5fb98a332a396969 /src/sliceitoff/game/level.py | |
parent | 417d1be24c398600600fa631c04c489c0cdd197d (diff) |
gameplay & level as separate class
Diffstat (limited to 'src/sliceitoff/game/level.py')
-rw-r--r-- | src/sliceitoff/game/level.py | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/sliceitoff/game/level.py b/src/sliceitoff/game/level.py new file mode 100644 index 0000000..97e64cf --- /dev/null +++ b/src/sliceitoff/game/level.py @@ -0,0 +1,33 @@ +from display import Display +from status import Status +from player import Player +from field import Field +from enemies import Enemies +from game import Gameplay + + +class Level: + """ One level that can be played """ + def __init__(self, level = None, score = None, display = None): + self.display = display + self.status = Status(level = level) + self.field = Field() + self.enemies = Enemies(field = self.field, level = level) + self.player = Player(field = self.field, enemies = self.enemies) + self.gameplay = Gameplay(player = self.player) + self.obj_classes = ( + self.status, + self.field, + self.enemies, + self.player) + + def step(self, dt): + for obj in self.obj_classes: + obj.update(dt) + + self.display.update( (obj.sprites for obj in self.obj_classes) ) + + if self.gameplay.step(): + return False + + return True |