From cde0b19c72930eb32fa30d14eb41b37df29c834a Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Wed, 11 Nov 2020 22:47:51 +0100 Subject: [PATCH] KeyValues.translate_key returns a KeyValues object --- dungeonbattle/enums.py | 17 ++++++++--------- dungeonbattle/game.py | 2 +- dungeonbattle/tests/game_test.py | 22 +++++++++++----------- 3 files changed, 20 insertions(+), 21 deletions(-) diff --git a/dungeonbattle/enums.py b/dungeonbattle/enums.py index aa215d3..e6fc955 100644 --- a/dungeonbattle/enums.py +++ b/dungeonbattle/enums.py @@ -20,25 +20,24 @@ class KeyValues(Enum): SPACE = auto() @staticmethod - def translate_key(key: str, settings: Settings) \ - -> Tuple[Optional["KeyValues"], str]: + def translate_key(key: str, settings: Settings) -> Optional["KeyValues"]: """ Translate the raw string key into an enum value that we can use. """ if key in (settings.KEY_DOWN_SECONDARY, settings.KEY_DOWN_PRIMARY): - return KeyValues.DOWN, key + return KeyValues.DOWN elif key in (settings.KEY_LEFT_PRIMARY, settings.KEY_LEFT_SECONDARY): - return KeyValues.LEFT, key + return KeyValues.LEFT elif key in (settings.KEY_RIGHT_PRIMARY, settings.KEY_RIGHT_SECONDARY): - return KeyValues.RIGHT, key + return KeyValues.RIGHT elif key in (settings.KEY_UP_PRIMARY, settings.KEY_UP_SECONDARY): - return KeyValues.UP, key + return KeyValues.UP elif key == settings.KEY_ENTER: - return KeyValues.ENTER, key + return KeyValues.ENTER elif key == ' ': - return KeyValues.SPACE, key - return None, key + return KeyValues.SPACE + return None diff --git a/dungeonbattle/game.py b/dungeonbattle/game.py index 6c7b347..3f75960 100644 --- a/dungeonbattle/game.py +++ b/dungeonbattle/game.py @@ -54,7 +54,7 @@ class Game: self.display_refresh() key = screen.getkey() self.handle_key_pressed( - *KeyValues.translate_key(key, self.settings)) + KeyValues.translate_key(key, self.settings), key) def handle_key_pressed(self, key: Optional[KeyValues], raw_key: str = '')\ -> None: diff --git a/dungeonbattle/tests/game_test.py b/dungeonbattle/tests/game_test.py index 0894060..2c327dc 100644 --- a/dungeonbattle/tests/game_test.py +++ b/dungeonbattle/tests/game_test.py @@ -40,35 +40,35 @@ class TestGame(unittest.TestCase): self.game.settings = Settings() self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_UP_PRIMARY, self.game.settings)[0], + self.game.settings.KEY_UP_PRIMARY, self.game.settings), KeyValues.UP) self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_UP_SECONDARY, self.game.settings)[0], + self.game.settings.KEY_UP_SECONDARY, self.game.settings), KeyValues.UP) self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_DOWN_PRIMARY, self.game.settings)[0], + self.game.settings.KEY_DOWN_PRIMARY, self.game.settings), KeyValues.DOWN) self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_DOWN_SECONDARY, self.game.settings)[0], + self.game.settings.KEY_DOWN_SECONDARY, self.game.settings), KeyValues.DOWN) self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_LEFT_PRIMARY, self.game.settings)[0], + self.game.settings.KEY_LEFT_PRIMARY, self.game.settings), KeyValues.LEFT) self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_LEFT_SECONDARY, self.game.settings)[0], + self.game.settings.KEY_LEFT_SECONDARY, self.game.settings), KeyValues.LEFT) self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_RIGHT_PRIMARY, self.game.settings)[0], + self.game.settings.KEY_RIGHT_PRIMARY, self.game.settings), KeyValues.RIGHT) self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_RIGHT_SECONDARY, self.game.settings)[0], + self.game.settings.KEY_RIGHT_SECONDARY, self.game.settings), KeyValues.RIGHT) self.assertEqual(KeyValues.translate_key( - self.game.settings.KEY_ENTER, self.game.settings)[0], + self.game.settings.KEY_ENTER, self.game.settings), KeyValues.ENTER) - self.assertEqual(KeyValues.translate_key(' ', self.game.settings)[0], + self.assertEqual(KeyValues.translate_key(' ', self.game.settings), KeyValues.SPACE) - self.assertEqual(KeyValues.translate_key('plop', self.game.settings)[0], + self.assertEqual(KeyValues.translate_key('plop', self.game.settings), None) def test_key_press(self) -> None: