Skip to content

Commit abe1590

Browse files
author
fabianomcs
committed
Concluido - sem o reiniciar
1 parent aeaa01f commit abe1590

1 file changed

Lines changed: 16 additions & 4 deletions

File tree

atores.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,8 @@ def colidir_com_chao(self):
106106
o status dos Passaro deve ser alterado para destruido, bem como o seu caracter
107107
108108
"""
109-
pass
109+
if self.y <= 0:
110+
self.status = DESTRUIDO
110111

111112
def calcular_posicao(self, tempo):
112113
"""
@@ -122,9 +123,10 @@ def calcular_posicao(self, tempo):
122123
:param tempo: tempo de jogo a ser calculada a posição
123124
:return: posição x, y
124125
"""
125-
if self.foi_lancado():
126+
if self._esta_voando():
126127
delta_t = tempo - self._tempo_de_lancamento
127128
self._calcular_posicao_vertical(delta_t)
129+
self._calcular_posicao_horizontal(delta_t)
128130
return super().calcular_posicao(tempo)
129131

130132

@@ -137,15 +139,25 @@ def lancar(self, angulo, tempo_de_lancamento):
137139
:param tempo_de_lancamento:
138140
:return:
139141
"""
140-
self._angulo_de_lancamento = angulo
142+
self._angulo_de_lancamento = math.radians(angulo)
141143
self._tempo_de_lancamento = tempo_de_lancamento
142144

143145
def _calcular_posicao_vertical(self, delta_t):
144-
angulo_radianos = math.radians(self._angulo_de_lancamento)
146+
angulo_radianos = self._angulo_de_lancamento
145147
y_atual = self._y_inicial + self.velocidade_escalar * delta_t * math.sin(angulo_radianos)
146148
y_atual -= (GRAVIDADE * (delta_t ** 2)) / 2
147149
self.y = y_atual
148150

151+
def _calcular_posicao_horizontal(self, delta_t):
152+
angulo_radianos = self._angulo_de_lancamento
153+
x_atual = self._x_inicial
154+
x_atual += self.velocidade_escalar * delta_t * math.cos(angulo_radianos)
155+
self.x = x_atual
156+
157+
def _esta_voando(self):
158+
return self.foi_lancado() and self.status == ATIVO
159+
160+
149161
class PassaroAmarelo(Passaro):
150162
_caracter_ativo = 'A'
151163
_caracter_destruido = 'a'

0 commit comments

Comments
 (0)