Files

70 lines
2.7 KiB
Python

import random
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_wild_pokemon_names), is_CPU=True)
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("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...")
#combat
print('='*30)
print("BATTLE RESULTS:")
print("Your move:")
opponent_fainted = 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)
if opponent_fainted:
print("You won the battle!")
continue_playing = False
else:
print("Continue playing? (yes/no)")
response = input().strip().lower()
if response != "yes":
continue_playing = False
if __name__ == "__main__":
Main()