import random import math import game_data as gd from core import Trainer def Main(): setup_complete = False trainer_name = input("Enter your trainer name: ") while not setup_complete: try: print("Available starter Pokemon: ", gd.available_starter_names) starter_name = input("Choose your starter Pokemon: ") trainer = Trainer(name=trainer_name, starter_name=starter_name) print(f"{trainer.name} has chosen {trainer.get_active_pokemon().name} as their starter Pokemon!") setup_complete = True except ValueError as e: print(e) print("Please try again...") continue trainer.print_trainer_info() cpu_trainer = Trainer(name="CPU", starter_name=random.choice(gd.available_starter_names)) print(f"CPU has chosen {cpu_trainer.get_active_pokemon().name} as their starter Pokemon!") cpu_trainer.print_trainer_info() continue_playing = True while continue_playing: selected_pokemon_combat_flag = False while not selected_pokemon_combat_flag: print("Choose a Pokemon from your list to battle with:\n", trainer.get_pokemon_list()) player_pokemon = input("Choose:") try: player_pokemon = trainer.get_pokemon(player_pokemon) selected_pokemon_combat_flag = True except ValueError as e: print(e) print("Please try again...") selected_combat_move_flag = False while not selected_combat_move_flag: print(f"Choose a move for {player_pokemon.name} to use against {cpu_trainer.get_active_pokemon().name}:\n", player_pokemon.get_moves()) player_move_name = input("Choose:") try: #print the move selected by the player print("Your selected move: ") player_pokemon.checkout_move(player_move_name) selected_combat_move_flag = True except ValueError as e: print(e) print("Please try again...") #make a combat print('='*30) print("BATTLE RESULTS:") print("Your move:") player_pokemon.useMove(player_move_name, cpu_trainer.get_active_pokemon()) player_pokemon.checkout_move(player_move_name) print('-'*30) print("CPU's pokemon") cpu_trainer.get_active_pokemon().print_pokemon_info() print('='*30) print("Continue playing? (yes/no)") response = input().strip().lower() if response != "yes": continue_playing = False if __name__ == "__main__": Main()