summaryrefslogtreecommitdiff
path: root/src/sliceitoff/game/level.py
blob: a417d8fe285f131a1515f788c579bd4ebd7e7fd2 (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
37
38
39
40
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 = dt)
            
        Stats.update_bonus(dt)
            
        self.display.update( (
                self.status.sprites,
                self.field,
                self.enemies,
                self.player.sprites) )

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