diff --git a/.env b/.env index 6fc2b7d..ebf65aa 100644 --- a/.env +++ b/.env @@ -1,2 +1,2 @@ SDL_VIDEODRIVER=x11 -RESOLUTION=1920x1080 \ No newline at end of file +#RESOLUTION=1920x1080 \ No newline at end of file diff --git a/engine/sdl2.py b/engine/sdl2.py index c4c9595..301079e 100644 --- a/engine/sdl2.py +++ b/engine/sdl2.py @@ -92,17 +92,26 @@ class GameWindow: def delete_tag(self, tag): pass - def win_screen(self, text, image=None): + def win_screen(self, text, **kwargs): self.draw_rectangle(50 - self.w_offset, 50 - self.h_offset, self.target_size[0] - 100, self.target_size[1] - 100, "win", filling=(255, 255, 255)) self.draw_text(text, self.fonts[self.target_size[1]//20], "center", sdl2.ext.Color(0, 0, 0)) - if image: + if image := kwargs.get("image"): image_size = self.get_image_size(image) self.draw_image(self.target_size[0] // 2 - image_size[0] // 2 - self.w_offset, self.target_size[1] // 2 - image_size[1] * 2 - self.h_offset, image, "win") - - + if scores := kwargs.get("scores"): + #self.draw_text("Scores:", self.fonts[self.target_size[1]//20], (self.target_size[0] // 2 - 50, self.target_size[1] // 2 + 50), sdl2.ext.Color(0, 0, 0)) + sprite = self.factory.from_text("Scores:", color=sdl2.ext.Color(0, 0, 0), fontmanager=self.fonts[self.target_size[1]//20]) + sprite.position = (self.target_size[0] // 2 - 50, self.target_size[1] // 2 + 30) + self.renderer.copy(sprite, dstrect=sprite.position) + for i, score in enumerate(scores[:5]): + #self.draw_text(score, self.fonts[self.target_size[1]//40], (self.target_size[0] // 2 - 50, self.target_size[1] // 2 + 50 + 30 * (i + 1)), sdl2.ext.Color(0, 0, 0)) + sprite_score = self.factory.from_text(score, color=sdl2.ext.Color(0, 0, 0), fontmanager=self.fonts[self.target_size[1]//40]) + sprite_score.position = (self.target_size[0] // 2 - 50-sprite_score.size[0] // 4, + self.target_size[1] // 2 + 60 + 20 * (i + 1)) + self.renderer.copy(sprite_score, dstrect=sprite_score.position) def pause_screen(self, text): self.draw_rectangle(50 - self.w_offset, 50 - self.h_offset, self.target_size[0] - 100, self.target_size[1] - 100, "pause", filling=(255, 255, 255)) diff --git a/rats.py b/rats.py index fa8ba03..f7ebb93 100644 --- a/rats.py +++ b/rats.py @@ -72,7 +72,7 @@ class MiceMaze(controls.KeyBindings): if not self.game_end[1]: self.engine.win_screen("Game Over: Mice are too many!", image=self.assets["BMP_WEWIN"]) else: - self.engine.win_screen(f"You Win! Points: {self.points}", image=self.assets["BMP_WEWIN"]) + self.engine.win_screen(f"You Win! Points: {self.points}", image=self.assets["BMP_WEWIN"], scores=self.read_score()) return True