From 65d89b7f9f78db886ec11b4ed39bdfd0561ad8c2 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sun, 8 Nov 2020 23:31:17 +0100 Subject: [PATCH] Add some comments --- dungeonbattle/game.py | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/dungeonbattle/game.py b/dungeonbattle/game.py index 96b7c36..8d5258d 100644 --- a/dungeonbattle/game.py +++ b/dungeonbattle/game.py @@ -36,6 +36,9 @@ class Game: current_display: Display def __init__(self) -> None: + """ + Init the game. + """ self.state = GameMode.MAINMENU self.main_menu = menus.MainMenu() self.settings = Settings() @@ -43,6 +46,9 @@ class Game: self.settings.write_settings() def new_game(self, screen: Any) -> None: + """ + Create a new game on the screen. + """ # TODO generate a new map procedurally self.map = Map.load("example_map.txt") self.player = Player() @@ -60,15 +66,22 @@ class Game: raise NotImplementedError() def run(self, screen: Any) -> None: + """ + Main infinite loop. + We wait for a player action, then we do what that should be done + when the given key got pressed. + """ while True: screen.clear() screen.refresh() - # self.d.display(self.player.y, self.player.x) self.current_display.refresh() key = screen.getkey() self.handle_key_pressed(self.translate_key(key)) def translate_key(self, key: str) -> KeyValues: + """ + Translate the raw string key into an enum value that we can use. + """ if key in (self.settings.KEY_DOWN_SECONDARY, self.settings.KEY_DOWN_PRIMARY): return KeyValues.DOWN @@ -87,6 +100,10 @@ class Game: return KeyValues.SPACE def handle_key_pressed(self, key: KeyValues) -> None: + """ + Indicates what should be done when the given key is pressed, + according to the current game state. + """ if self.state == GameMode.PLAY: self.handle_key_pressed_play(key) elif self.state == GameMode.MAINMENU: @@ -96,6 +113,9 @@ class Game: self.current_display.refresh() def handle_key_pressed_play(self, key: KeyValues) -> None: + """ + In play mode, arrows or zqsd should move the main character. + """ if key == KeyValues.UP: self.player.move_up() elif key == KeyValues.DOWN: @@ -109,6 +129,9 @@ class Game: self.current_display = self.menu_display def handle_key_pressed_main_menu(self, key: KeyValues) -> None: + """ + In the main menu, we can navigate through options. + """ if key == KeyValues.DOWN: self.main_menu.go_down() if key == KeyValues.UP: @@ -124,6 +147,9 @@ class Game: sys.exit(0) def handle_key_pressed_settings(self, key: KeyValues) -> None: + """ + For now, in the settings mode, we can only go backwards. + """ if key == KeyValues.SPACE: self.state = GameMode.MAINMENU self.current_display = self.menu_display