X-Git-Url: https://git.ctpug.org.za/?a=blobdiff_plain;f=tabakrolletjie%2Fscenes%2Fnight.py;h=f9935d32d761b7f1e9df8d9165b2db121b86cd77;hb=28c8033fc20fc71e8a5e39fde868ac3f0ccac374;hp=fe1fae3860d1d87bcb2b8a77d2ff895afff904ed;hpb=7c934665afcc5ddffccddf8784b02424e267d6b0;p=tabakrolletjie.git diff --git a/tabakrolletjie/scenes/night.py b/tabakrolletjie/scenes/night.py index fe1fae3..f9935d3 100644 --- a/tabakrolletjie/scenes/night.py +++ b/tabakrolletjie/scenes/night.py @@ -1,7 +1,6 @@ """ In the night, the mould attacks. """ import pygame.locals as pgl -import pygame.surface import pymunk @@ -12,10 +11,15 @@ from ..enemies import Boyd from ..events import SceneChangeEvent from ..utils import debug_timer from ..loader import loader +from ..transforms import Overlay from ..turnip import Turnip +from ..constants import NIGHT_LENGTH class NightScene(BaseScene): + + DARKNESS = Overlay(colour=(0, 0, 0, 150)) + def enter(self, gamestate): self._space = pymunk.Space() self._obstacles = ObstacleManager(self._space, gamestate) @@ -25,15 +29,14 @@ class NightScene(BaseScene): for turnip_data in gamestate.turnips: turnip = Turnip(space=self._space, **turnip_data) self._turnips.append(turnip) + self._soil = loader.load_image( + "textures", "soil.png", transform=self.DARKNESS) + self._total_ticks = 0 @debug_timer("night.render") def render(self, surface, gamestate): - surface.blit(loader.load_image("textures", "soil.png"), (0, 0)) - darkness = pygame.surface.Surface(surface.get_size()) - darkness = darkness.convert_alpha() - darkness.fill((0, 0, 0, 150)) - surface.blit(darkness, (0, 0)) - + surface.blit(self._soil, (0, 0)) + self._mould.render(surface) for turnip in self._turnips[:]: @@ -43,6 +46,7 @@ class NightScene(BaseScene): gamestate.eaten += 1 else: turnip.render(surface) + self._lights.render_light(surface) self._obstacles.render(surface) self._lights.render_fittings(surface) @@ -62,8 +66,11 @@ class NightScene(BaseScene): @debug_timer("night.tick") def tick(self, gamestate): - self._mould.tick(gamestate, self._space, self._lights) - self._lights.tick() + if self._total_ticks < NIGHT_LENGTH: + self._mould.tick(gamestate, self._space, self._lights) + self._lights.tick() + print "Power usage: ", self._lights.total_power_usage() + self._total_ticks += 1 def exit(self, gamestate): turnip_data = [turnip.serialize() for turnip in self._turnips]