summaryrefslogtreecommitdiff
path: root/src/sliceitoff/game/level.py
blob: 28d9b4473827ef2cf3c423cd950b19ac00b370ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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, status = self.status )
        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