From 5addd42535419d06fe1b0db93700a7608d974ef1 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Wed, 11 Nov 2020 00:38:02 +0100 Subject: [PATCH] Only refresh entities if the player moved, ignore most events --- dungeonbattle/game.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/dungeonbattle/game.py b/dungeonbattle/game.py index e8f412c..8be446d 100644 --- a/dungeonbattle/game.py +++ b/dungeonbattle/game.py @@ -71,7 +71,6 @@ class Game: self.display_refresh() key = screen.getkey() self.handle_key_pressed(self.translate_key(key)) - self.map.tick() def translate_key(self, key: str) -> KeyValues: """ @@ -112,13 +111,17 @@ class Game: In play mode, arrows or zqsd should move the main character. """ if key == KeyValues.UP: - self.player.move_up() + if self.player.move_up(): + self.map.tick() elif key == KeyValues.DOWN: - self.player.move_down() + if self.player.move_down(): + self.map.tick() elif key == KeyValues.LEFT: - self.player.move_left() + if self.player.move_left(): + self.map.tick() elif key == KeyValues.RIGHT: - self.player.move_right() + if self.player.move_right(): + self.map.tick() elif key == KeyValues.SPACE: self.state = GameMode.MAINMENU