From b99e522de33bc97e193a51692db856f586921286 Mon Sep 17 00:00:00 2001 From: Viljami Ilola <+@hix.fi> Date: Mon, 18 Mar 2024 13:47:13 +0200 Subject: gameplay & level as separate class --- src/sliceitoff/game/level.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 src/sliceitoff/game/level.py (limited to 'src/sliceitoff/game/level.py') 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 -- cgit v1.2.3