-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbatalha.py
66 lines (53 loc) · 1.77 KB
/
batalha.py
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
from abc import ABC
import random
from pokemom import Pokemon
import time
class Batalha(ABC):
"""
Batalha define uma batalha entre um pokemon escolhido pelo usuário e um aleatório
controledo pelo computador
Atributes:
nome (str): Nome do animal
tipo (str): Tipo do pokemon
hp (int): HP do pokemon
Ataque (list(Ataque)): ataque do pokemon
"""
def __init__(self):
"""Inicializa um objeto batalha"""
self.__vez = bool(random.randint(0, 1))
self.__fase = 0
self.__computador = False
def fase(self):
print("\n")
time.sleep(2)
return self.__fase
@property
def computador(self):
return self.__computador
def inverter_jogador(self) -> bool:
"""Alterna entre um jogador e outro"""
self.__vez = not self.__vez
if self.__vez:
print("Vez do principal")
else:
print("Vez do adversário")
return self.__vez
def pular_fase(self) -> None:
"""Passa para a próxima dafe da batalha,"""
self.__fase += 1
time.sleep(1)
def andamento(self) -> bool:
"""Verifica se a batalha passou por todas as fazes e finalizou
Returns:
bool: True se batalha não passou se um número específico
"""
if self.__fase > 2:
return False
return True
def contra_computador(self, pokemon: Pokemon):
"""Quando chamado, define que a batalha será duelada contra o computador e qual pokemon é o computador
Args:
pokemon (Pokemon): pokemon que será o computador
"""
self.__computador = True
pokemon.computador()