@@ -103,8 +103,8 @@ def colidir_com_chao(self):
103103 o status dos Passaro deve ser alterado para destruido, bem como o seu caracter
104104
105105 """
106- pass
107-
106+ if self . y <= 0 :
107+ self . status = DESTRUIDO
108108 def calcular_posicao (self , tempo ):
109109 """
110110 Método que cálcula a posição do passaro de acordo com o tempo.
@@ -119,7 +119,7 @@ def calcular_posicao(self, tempo):
119119 :param tempo: tempo de jogo a ser calculada a posição
120120 :return: posição x, y
121121 """
122- if self .foi_lancado ():
122+ if self .foi_lancado () and self . status == ATIVO :
123123 delta_t = tempo - self ._tempo_de_lancamento
124124 self ._calcular_posicao_vertical (delta_t )
125125 self ._calcular_posicao_horizontal (delta_t )
@@ -135,19 +135,19 @@ def lancar(self, angulo, tempo_de_lancamento):
135135 :param tempo_de_lancamento:
136136 :return:
137137 """
138- self .angulo_de_lancamento = angulo
138+ self .angulo_de_lancamento = math . radians ( angulo )
139139 self ._tempo_de_lancamento = tempo_de_lancamento
140140
141141 def _calcular_posicao_vertical (self , delta_t ):
142142 y_atual = self ._y_inicial
143- angulo_radianos = math . radians ( self .angulo_de_lancamento )
143+ angulo_radianos = self .angulo_de_lancamento
144144 y_atual += self .velocidade_escalar * delta_t * math .sin (angulo_radianos )
145145 y_atual -= (GRAVIDADE * (delta_t ** 2 )) / 2
146146 self .y = y_atual
147147
148148 def _calcular_posicao_horizontal (self , delta_t ):
149149 x_atual = self ._x_inicial
150- angulo_radianos = math . radians ( self .angulo_de_lancamento )
150+ angulo_radianos = self .angulo_de_lancamento
151151 x_atual += self .velocidade_escalar * delta_t * math .cos (angulo_radianos )
152152 self .x = x_atual
153153class PassaroAmarelo (Passaro ):
0 commit comments