Exemple #1
0
def main():
    cur_state = State()
    if not cur_state.game_state:
        cur_state.main_menu()

    player = cur_state.game_state['player']
    player_location = player.location

    party = cur_state.game_state['party']
    party_status = False
    for character in party:
        if character.cur_stats['health'] > 0:
            party_status = True

    while party_status:
        current_location = getattr(navigation, player_location.replace(" ", ""))()

        action_input = input('Choose an action: ')
        available_actions = current_location.available_actions()
        found_action = False
        for action in available_actions:
            if action_input.lower() == 'exit':
                sys.exit()

            if (action_input.lower() == action.hotkey.lower()) or \
                    (action_input.lower() in [a.lower() for a in action.alt]):
                os.system('clear')  # For OSX / Linux
                os.system('cls')  # For Windows
                found_action = True
                actions.do_action(action, action.action_class, **action.kwargs)
                break
        if not found_action:
            os.system('clear')  # For OSX / Linux
            os.system('cls')  # For Windows

        cur_state = State()
        cur_state.load_quicksave()
        player = cur_state.game_state['player']
        player_location = player.location
        cur_state.save_game()