70 lines
2.7 KiB
Python
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() |