rework string functions and get easyly player data

This commit is contained in:
2024-04-04 12:16:17 +02:00
parent 7972b5ceea
commit 6442e1c8e4
3 changed files with 29 additions and 2 deletions
+15
View File
@@ -17,6 +17,7 @@ class GameBoard:
def print_story(self, story:str): def print_story(self, story:str):
print(story) print(story)
# Save State
def find_game_state(self): def find_game_state(self):
if os.path.exists(self.save_state_file['path']): if os.path.exists(self.save_state_file['path']):
self.saved_state = SavedState.load_from_file(self.save_state_file) self.saved_state = SavedState.load_from_file(self.save_state_file)
@@ -32,6 +33,20 @@ class GameBoard:
def save_game_state(self): def save_game_state(self):
self.saved_state.save_to_file(self.save_state_file) 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): def replace_keyword_into_place_story(self, place:dict):
story:str = place['story'] story:str = place['story']
story.replace("SPECIES", self.saved_state.get_player().get_species_name()) story.replace("SPECIES", self.saved_state.get_player().get_species_name())
+9 -1
View File
@@ -16,6 +16,7 @@ class SavedState:
"place": None "place": None
} }
# Objects
def add_player(self, player:dict): def add_player(self, player:dict):
self.player = Player(player["name"], player["type"], player["species"], player["combineble_species"]) self.player = Player(player["name"], player["type"], player["species"], player["combineble_species"])
@@ -25,6 +26,13 @@ class SavedState:
def get_player(self): def get_player(self):
return self.player 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): def get_chapter(self):
return self.story["chapter"] return self.story["chapter"]
@@ -35,7 +43,7 @@ class SavedState:
return self.story["place"] return self.story["place"]
def __str__(self): 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): def __repr__(self):
return str(vars(self)) return str(vars(self))
+5 -1
View File
@@ -27,5 +27,9 @@ if __name__ == '__main__':
game_board.find_game_state() game_board.find_game_state()
game_board.user_input() game_board.user_input()
print(game_board.saved_state) print(game_board.get_game_state())
game_board.save_game_state() game_board.save_game_state()
print()
print(game_board.get_player_species())
print(game_board.get_player_combineble_species())