From 0d0a5fe6043ba9822ae8d03f07f21eee3bba9ab2 Mon Sep 17 00:00:00 2001 From: Neil Date: Sat, 10 Sep 2016 16:28:32 +0200 Subject: [PATCH] Add won level check --- data/stations/01-tutorial.json | 3 ++- data/stations/station-alpha.json | 3 ++- tabakrolletjie/gamestate.py | 3 +++ tabakrolletjie/scenes/day.py | 26 ++++++++++++++++++++++---- 4 files changed, 29 insertions(+), 6 deletions(-) diff --git a/data/stations/01-tutorial.json b/data/stations/01-tutorial.json index 83a0f20..b233378 100644 --- a/data/stations/01-tutorial.json +++ b/data/stations/01-tutorial.json @@ -3,7 +3,8 @@ "name": "Fusarium", "power": 100, "spawn positions": [[25, 400], [1000, 410]], - "seeds": 100 + "seeds": 100, + "turnip target": 10 }, "battery": { "current": 200, diff --git a/data/stations/station-alpha.json b/data/stations/station-alpha.json index 5e4fbb0..1c38934 100644 --- a/data/stations/station-alpha.json +++ b/data/stations/station-alpha.json @@ -3,7 +3,8 @@ "name": "Station Alpha", "power": 100, "spawn positions": [[275, 300]], - "seeds": 10 + "seeds": 10, + "turnip target": 10 }, "battery": { "current": 200, diff --git a/tabakrolletjie/gamestate.py b/tabakrolletjie/gamestate.py index 4ce92e8..8d74d81 100644 --- a/tabakrolletjie/gamestate.py +++ b/tabakrolletjie/gamestate.py @@ -42,3 +42,6 @@ class GameState(object): def get_spawn_positions(self): return self._state["station"]["config"]["spawn positions"] + + def get_target(self): + return self._state["station"]["config"]["turnip target"] diff --git a/tabakrolletjie/scenes/day.py b/tabakrolletjie/scenes/day.py index 0176754..f426565 100644 --- a/tabakrolletjie/scenes/day.py +++ b/tabakrolletjie/scenes/day.py @@ -52,9 +52,11 @@ class DayScene(BaseScene): # Check if we've lost self._game_over_text = [] if self._seeds == 0 and len(self._turnips) == 0: - self._draw_game_over_text() + self._draw_you_lose() + elif self._harvested >= gamestate.get_target(): + self._draw_you_win() - def _draw_game_over_text(self): + def _draw_you_lose(self): overlay = pygame.surface.Surface( (SCREEN_SIZE[0], 240), pgl.SWSURFACE).convert_alpha() overlay.fill((0, 0, 0, 128)) @@ -63,10 +65,26 @@ class DayScene(BaseScene): (shadowed_text("You Lost", FONTS["bold"], 48), (400, 280))) self._game_over_text.append( (shadowed_text("You have no seeds and no turnips growing", - FONTS["sans"], 24), (250, 350))) + FONTS["sans"], 24), (300, 350))) self._game_over_text.append( (shadowed_text("Press a key to return to the menu", - FONTS["sans"], 24), (250, 400))) + FONTS["sans"], 24), (350, 400))) + + def _draw_you_win(self): + overlay = pygame.surface.Surface( + (SCREEN_SIZE[0], 240), pgl.SWSURFACE).convert_alpha() + overlay.fill((0, 0, 0, 128)) + self._game_over_text.append((overlay, (0, 250))) + self._game_over_text.append( + (shadowed_text("You Win", FONTS["bold"], 48), (400, 280))) + self._game_over_text.append( + (shadowed_text( + "You have Successfully Harvested %d turnips" % self._harvested, + FONTS["sans"], 24), + (300, 350))) + self._game_over_text.append( + (shadowed_text("Press a key to return to the menu", + FONTS["sans"], 24), (350, 400))) def grow_turnips(self, gamestate): for turnip_data in gamestate.turnips: -- 2.34.1