-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
175 lines (131 loc) · 5.71 KB
/
main.py
File metadata and controls
175 lines (131 loc) · 5.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
import time
import os
import random
import msvcrt
import copy
from infos_pokemons import pokemons, inimigos
from animation import animated_ascii_typing
from battle_screens import telaDerrota, telaVitoria
from battle_texts import frases_aproximacao, frases_surgimento
from battle_logic import atacarPokemon, foiAtacadoPokemon, verificarMorte
from utils import timeCls
def pokeEscolhido(escolha):
return pokemons.get(escolha)
def lutaPokePythonLoop(PokemonEscolhido, inimigoEscolhido):
while True:
print('\nQual move você escolhe?\n')
for chave, ataque in PokemonEscolhido["ataques"].items():
print(f'{chave} - {ataque["nome"]} -> ATK: {ataque["dano"]} / PP -> {ataque["pp"]}')
ChooseMove = input('')
if ChooseMove in PokemonEscolhido['ataques']:
timeCls(0, 'cls')
ChooseMoveAtk = PokemonEscolhido["ataques"][ChooseMove]
if ChooseMoveAtk['pp'] > 0:
atacarPokemon(ChooseMove,PokemonEscolhido, inimigoEscolhido)
verificarVitoria = verificarMorte(PokemonEscolhido, inimigoEscolhido)
if verificarVitoria == "inimigo_morto":
if telaVitoria():
jogarNovamente()
else:
break
foiAtacadoPokemon(PokemonEscolhido, inimigoEscolhido)
verificarVitoria = verificarMorte(PokemonEscolhido, inimigoEscolhido)
if verificarVitoria == "jogador_morto":
if telaDerrota():
jogarNovamente()
else:
break
else:
timeCls(0, 'cls')
print("O pp desse ataque acabou, escolha outro")
else:
timeCls(0, 'cls')
print('escolhe novamente marreco, esse ataque não existe...')
def iniciar_jogo():
timeCls(0, 'cls')
animated_ascii_typing()
print('BEM VINDO AO POKÉPYTHON 😉☺️'.center(50))
timeCls(4, 'cls')
print("Olá! Eu sou o Professor PyOak! 🧪🐍")
timeCls(1, 'n')
print("Este mundo é habitado por criaturas chamadas PokéPython!\n")
timeCls(1, 'n')
nomeJogador = input("Mas antes de começarmos sua jornada...\nQual é o seu nome, jovem treinador? ")
timeCls(1, 'cls')
print(f"\n👋 Olá, {nomeJogador}!")
print("Escolha seu PokéPython inicial:")
for chave, dados in pokemons.items():
print(f"[{chave}] - {dados['nome']}")
while True:
escolha = input("\nQual sua escolha? = ")
PokemonEscolhido = copy.deepcopy(pokeEscolhido(escolha))
if PokemonEscolhido:
timeCls(0, 'cls')
print(f"Você escolheu {PokemonEscolhido['nome']}!")
timeCls(2, 'cls')
print(f"{PokemonEscolhido['nome']} tem ❤️ {PokemonEscolhido['vida']} de vida")
print(f"Ele tem 4 moves:")
for chave, ataque in PokemonEscolhido["ataques"].items():
print(f'{ataque["nome"]} -> ATK: {ataque["dano"]} / PP : {ataque["pp"]}')
print("\nPressione qualquer tecla para começar...")
msvcrt.getch()
timeCls(0, 'cls')
break
else:
os.system("cls")
print("Escreve certinho pra mim 😠")
for chave, dados in pokemons.items():
print(f"[{chave}] - {dados['nome']}")
inimigoAleatorio = random.choice(list(inimigos.values()))
inimigoEscolhido = copy.deepcopy(inimigoAleatorio)
print(f"\n🌪 {random.choice(frases_aproximacao)}")
timeCls(1, 'n')
print("...")
timeCls(1, 'n')
print("...")
timeCls(1, 'cls')
print(f"💥 {inimigoEscolhido['nome']} {random.choice(frases_surgimento)}")
print(f"❤️ Vida: {inimigoEscolhido['vida']}")
print("Prepare-se para lutar! ⚔️\n")
lutaPokePythonLoop(PokemonEscolhido, inimigoEscolhido)
def jogarNovamente():
timeCls(0, 'cls')
animated_ascii_typing()
timeCls(4, 'cls')
print("Escolha seu PokéPython:")
for chave, dados in pokemons.items():
print(f"[{chave}] - {dados['nome']}")
while True:
escolha = input("\nQual sua escolha? = ")
PokemonEscolhido = copy.deepcopy(pokeEscolhido(escolha))
if PokemonEscolhido:
timeCls(0, 'cls')
print(f"Você escolheu {PokemonEscolhido['nome']}!")
timeCls(2, 'cls')
print(f"{PokemonEscolhido['nome']} tem ❤️ {PokemonEscolhido['vida']} de vida")
print(f"Ele tem 4 moves:")
for chave, ataque in PokemonEscolhido["ataques"].items():
print(f'{ataque["nome"]} -> ATK: {ataque["dano"]} / PP : {ataque["pp"]}')
print("\nPressione qualquer tecla para começar...")
msvcrt.getch()
timeCls(0, 'cls')
break
else:
os.system("cls")
print("Escreve certinho pra mim 😠")
for chave, dados in pokemons.items():
print(f"[{chave}] - {dados['nome']}")
inimigoAleatorio = random.choice(list(inimigos.values()))
inimigoEscolhido = copy.deepcopy(inimigoAleatorio)
print(f"\n🌪{random.choice(frases_aproximacao)}")
timeCls(1, 'n')
print("...")
timeCls(1, 'n')
print("...")
timeCls(1, 'cls')
print(f"💥 {inimigoEscolhido['nome']} {random.choice(frases_surgimento)}")
print(f"❤️ Vida: {inimigoEscolhido['vida']}")
print("Prepare-se para lutar! ⚔️\n")
lutaPokePythonLoop(PokemonEscolhido, inimigoEscolhido)
if __name__ == "__main__":
iniciar_jogo()