From fa66b590d1aafd7ae5c14e830f64c3d9160111ea Mon Sep 17 00:00:00 2001 From: Giovani Date: Tue, 13 Jul 2021 10:45:23 -0400 Subject: [PATCH] wip: add items to multiplayer scene --- config.yaml | 10 ++++++++++ tetri5/scene.py | 43 ++++++++++++++++++++++++++++++++++++++++--- 2 files changed, 50 insertions(+), 3 deletions(-) diff --git a/config.yaml b/config.yaml index c02b170..6b210e3 100644 --- a/config.yaml +++ b/config.yaml @@ -38,6 +38,16 @@ position: # multi player game screen well-player-1: [80, 80] well-player-2: [480, 80] + score-label-player-1: [140, 20] + score-label-player-2: [540, 20] + score-value-player-1: [140, 40] + score-value-player-2: [540, 40] + lines-label-player-1: [100, 540] + lines-label-player-2: [500, 540] + next-label-player-1: [340, 180] + next-piece-player-1: [360, 220] + next-label-player-2: [340, 360] + next-piece-player-2: [360, 400] engine: fps: 60 diff --git a/tetri5/scene.py b/tetri5/scene.py index d85f6f5..e7b2e09 100644 --- a/tetri5/scene.py +++ b/tetri5/scene.py @@ -171,6 +171,7 @@ class MultiPlayerScene(Scene): self._tile_size = ConfigurationManager.get("engine", "tile-size") self._background_color = pygame.Color(ConfigurationManager.get("color", "window-bg")) + # wells init self._well_player_one = Well(ConfigurationManager.get("position", "well-player-1"),\ ConfigurationManager.get("color", "well-1"),\ ConfigurationManager.get("color", "well-border-1")) @@ -178,19 +179,55 @@ class MultiPlayerScene(Scene): ConfigurationManager.get("color", "well-1"),\ ConfigurationManager.get("color", "well-border-1")) - self._stack = Stack() + # stacks init + self._stack_player_one = Stack() + self._stack_player_two = Stack() + # score positions + self.score_label_player_one_pos = ConfigurationManager.get("position", "score-label-player-1") + self.score_label_player_two_pos = ConfigurationManager.get("position", "score-label-player-2") + self.score_value_player_one_pos = ConfigurationManager.get("position", "score-value-player-1") + self.score_value_player_two_pos = ConfigurationManager.get("position", "score-value-player-2") + + # lines positions + self.lines_label_player_one_pos = ConfigurationManager.get("position", "lines-label-player-1") + self.lines_label_player_two_pos = ConfigurationManager.get("position", "lines-label-player-2") + + # next positions + self.next_label_player_one_pos = ConfigurationManager.get("position", "next-label-player-1") + self.next_label_player_two_pos = ConfigurationManager.get("position", "next-label-player-2") + + self._change_scence = change_scene MultiplayerService.init() def draw(self, surface: pygame.Surface) -> None: surface.fill(self._background_color) + # wells if self._well_player_one: self._well_player_one.draw(surface) if self._well_player_two: self._well_player_two.draw(surface) - if self._stack: - self._stack.draw(surface) + + # stacks + if self._stack_player_one: + self._stack_player_one.draw(surface) + if self._stack_player_two: + self._stack_player_two.draw(surface) + + # scores + TextGenerator.draw("Score", self.score_label_player_one_pos, surface) + TextGenerator.draw("000000", self.score_value_player_one_pos, surface) + TextGenerator.draw("Score", self.score_label_player_two_pos, surface) + TextGenerator.draw("000000", self.score_value_player_two_pos, surface) + + # lines + TextGenerator.draw("Lines 0000", self.lines_label_player_one_pos, surface) + TextGenerator.draw("Lines 0000", self.lines_label_player_two_pos, surface) + + # next + TextGenerator.draw("P1 NXT", self.next_label_player_one_pos, surface) + TextGenerator.draw("P2 NXT", self.next_label_player_two_pos, surface) def update(self, elapsed_time: int) -> None: pass