diff options
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 |