summaryrefslogtreecommitdiff
path: root/src/sliceitoff/game/level.py
blob: fadbee301ba2ddfe3b70467448ad59b191e11ada (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
34
35
36
from display import Display
from status import Status
from player import Player
from field import Field
from enemies import Enemies
from stats import Stats
from .gameplay import Gameplay


class Level:
    """ One level that can be played """
    def __init__(self, display = None):
        self.display = display
        self.status = Status()
        self.field = Field()
        self.enemies = Enemies(field = self.field)
        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)
            
        Stats.update_bonus(dt)
            
        self.display.update( (obj.sprites for obj in self.obj_classes) )

        if self.gameplay.step():
            return False
            
        return True