-
Notifications
You must be signed in to change notification settings - Fork 0
/
personagem.py
148 lines (134 loc) · 4.72 KB
/
personagem.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
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
from random import randint
from time import sleep
class Personagem():
def __init__(self, nome, vantagem, forca, inteligencia, agilidade, magia, companheiro):
self._nome = nome
self._vantagem = vantagem
self._forca = forca
self._inteligencia = inteligencia
self._agilidade = agilidade
self._magia = magia
self._ultima_escolha = ''
self._sequencia = 0
self._duendes_capturados = 0
self._inimigos_destruidos = 0
self._companheiros = [companheiro]
@property
def nome(self):
return self._nome
@property
def vantagem(self):
return self._vantagem
@property
def forca(self):
return self._forca
@property
def inteligencia(self):
return self._inteligencia
@property
def agilidade(self):
return self._agilidade
@property
def magia(self):
return self._magia
@property
def ultima_escolha(self):
return self._ultima_escolha
@property
def sequencia(self):
return self._sequencia
@property
def duendes_capturados(self):
return self._duendes_capturados
@property
def inimigos_destruidos(self):
return self._inimigos_destruidos
@property
def companheiros(self):
return self._companheiros
@forca.setter
def forca(self, ponto):
self._forca = ponto
@inteligencia.setter
def inteligencia(self, ponto):
self._inteligencia = ponto
@agilidade.setter
def agilidade(self, ponto):
self._agilidade = ponto
@magia.setter
def magia(self, ponto):
self._magia = ponto
@sequencia.setter
def sequencia(self, vitoria):
self._sequencia = vitoria
@ultima_escolha.setter
def ultima_escolha(self, acao_escolhida):
self._ultima_escolha = acao_escolhida
@duendes_capturados.setter
def duendes_capturados(self, duende_capturado):
self._duendes_capturados = duende_capturado
@inimigos_destruidos.setter
def inimigos_destruidos(self, inimigo_destruido):
self._inimigos_destruidos = inimigo_destruido
def __str__(self):
return f'♣ {self._nome.title()} ' \
f'| [1] Força: {self._forca} ' \
f'| [2] Inteligência: {self._inteligencia} ' \
f'| [3] Agilidade: {self._agilidade} ' \
f'| [4] Magia: {self._magia} '
def imprimir_classe_formatada(self):
print( f'{self._nome.title():10} '
# f'| Vantagem: {self._vantagem.title():12} '
f'| [1] Força: {self._forca} '
f'| [2] Inteligência: {self._inteligencia} '
f'| [3] Agilidade: {self._agilidade} '
f'| [4] Magia: {self._magia} ')
def escolher_acao(self):
escolhaAgir = ''
agir = int(input('Escolha como agir:\n[1] Força [2] Inteligência [3] Agilidade [4] Magia\n → '))
if agir == 1:
escolhaAgir = "força"
elif agir == 2:
escolhaAgir = "inteligência"
elif agir == 3:
escolhaAgir = "agilidade"
elif agir == 4:
escolhaAgir = "magia"
return escolhaAgir
def jogar_dado(self):
input('Jogue o dado de 1 a 6 [ENTER]: ')
dado = randint(1, 6)
print(f'• Pontos de dado = {dado}')
return dado
def imprimir_companheiros(self):
if len(self.companheiros) > 0:
sleep(1)
print(f'♣ Seus companheiros: ', end='')
for companheiro in self.companheiros:
if self.companheiros.index(companheiro) == (len(self.companheiros) - 1):
print(f'{companheiro}', end='')
else:
print(f'{companheiro}, ', end='')
print('.')
def companheiro_sacrificar(self, resultado_final):
if (resultado_final == 'derrota' or resultado_final == 'derrota_destruição') and len(self.companheiros) > 0:
# sacrificar companheiro
companheiro = self.companheiros[0]
print(f'• Seu companheiro(a) {companheiro} distraiu o inimigo para você continuar.')
sleep(1)
self.companheiros.pop(0)
# remover vantagem do companheiro
if companheiro == 'Javali Furioso':
self.forca -= 1
elif companheiro == 'Aranha Estrategista':
self.inteligencia -= 1
elif companheiro == 'Morcego Veloz':
self.agilidade -= 1
elif companheiro == 'Galinha Feiticeira':
self.magia -= 1
return 'vitória'
else:
return resultado_final
def imprimir_estado_do_personagem(self):
print(self)
self.imprimir_companheiros()