From 6442e1c8e408b7fe7d072e10bce1027c664bbb9d Mon Sep 17 00:00:00 2001 From: Daniel Dolezal Date: Thu, 4 Apr 2024 12:16:17 +0200 Subject: [PATCH] rework string functions and get easyly player data --- classes/GameBoard.py | 15 +++++++++++++++ classes/SavedState.py | 10 +++++++++- run.py | 6 +++++- 3 files changed, 29 insertions(+), 2 deletions(-) diff --git a/classes/GameBoard.py b/classes/GameBoard.py index f376ab2..19054c2 100644 --- a/classes/GameBoard.py +++ b/classes/GameBoard.py @@ -17,6 +17,7 @@ class GameBoard: def print_story(self, story:str): print(story) + # Save State def find_game_state(self): if os.path.exists(self.save_state_file['path']): self.saved_state = SavedState.load_from_file(self.save_state_file) @@ -32,6 +33,20 @@ class GameBoard: def save_game_state(self): self.saved_state.save_to_file(self.save_state_file) + def get_game_state(self): + return self.saved_state + + #Player + def get_player(self): + return self.saved_state.get_player() + + def get_player_species(self): + return self.saved_state.get_player_species(self.config["player"]["species"]) + + def get_player_combineble_species(self): + return self.saved_state.get_player_combineble(self.config["player"]["species"]) + + # Functions def replace_keyword_into_place_story(self, place:dict): story:str = place['story'] story.replace("SPECIES", self.saved_state.get_player().get_species_name()) diff --git a/classes/SavedState.py b/classes/SavedState.py index 2e76add..f9b8267 100644 --- a/classes/SavedState.py +++ b/classes/SavedState.py @@ -16,6 +16,7 @@ class SavedState: "place": None } + # Objects def add_player(self, player:dict): self.player = Player(player["name"], player["type"], player["species"], player["combineble_species"]) @@ -25,6 +26,13 @@ class SavedState: def get_player(self): return self.player + def get_player_species(self, species:str): + return self.player.get_species(species) + + def get_player_combineble(self, species:str): + return self.player.get_combineble_species(species) + + # Functions def get_chapter(self): return self.story["chapter"] @@ -35,7 +43,7 @@ class SavedState: return self.story["place"] def __str__(self): - return f"{self.__class__.__name__} | Home: {self.home}\nStory: {self.story}\n\n{self.player}" + return f"{self.__class__.__name__}\n Home: {self.home}\n Story: {self.story}\n\n{self.player}" def __repr__(self): return str(vars(self)) diff --git a/run.py b/run.py index 5fbad7b..441b3a2 100644 --- a/run.py +++ b/run.py @@ -27,5 +27,9 @@ if __name__ == '__main__': game_board.find_game_state() game_board.user_input() - print(game_board.saved_state) + print(game_board.get_game_state()) game_board.save_game_state() + + print() + print(game_board.get_player_species()) + print(game_board.get_player_combineble_species())