Skip to content

Commit ee9c8bc

Browse files
committed
test for vertical position
1 parent 4fcd246 commit ee9c8bc

File tree

1 file changed

+17
-5
lines changed

1 file changed

+17
-5
lines changed

atores.py

Lines changed: 17 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,7 @@ def foi_lancado(self):
9696
9797
:return: booleano
9898
"""
99-
return True
100-
99+
return not self._tempo_de_lancamento is None
101100
def colidir_com_chao(self):
102101
"""
103102
Método que executa lógica de colisão com o chão. Toda vez que y for menor ou igual a 0,
@@ -120,7 +119,10 @@ def calcular_posicao(self, tempo):
120119
:param tempo: tempo de jogo a ser calculada a posição
121120
:return: posição x, y
122121
"""
123-
return 1, 1
122+
if self.foi_lancado():
123+
delta_t = tempo-self._tempo_de_lancamento
124+
self._calcular_posicao_vertical(delta_t)
125+
return super().calcular_posicao(tempo)
124126

125127

126128
def lancar(self, angulo, tempo_de_lancamento):
@@ -132,11 +134,21 @@ def lancar(self, angulo, tempo_de_lancamento):
132134
:param tempo_de_lancamento:
133135
:return:
134136
"""
135-
pass
137+
self.angulo_de_lancamento = angulo
138+
self._tempo_de_lancamento = tempo_de_lancamento
139+
140+
def _calcular_posicao_vertical(self, delta_t):
141+
y_atual=self._y_inicial
142+
angulo_radianos = math.radians(self.angulo_de_lancamento)
143+
y_atual += self.velocidade_escalar * delta_t * math.sin(angulo_radianos)
144+
y_atual -= (GRAVIDADE * (delta_t ** 2)) / 2
145+
self.y = y_atual
136146

137147

138148
class PassaroAmarelo(Passaro):
139-
pass
149+
_caracter_ativo = 'A'
150+
_caracter_destruido = 'a'
151+
velocidade_escalar = 30
140152

141153

142154
class PassaroVermelho(Passaro):

0 commit comments

Comments
 (0)