| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 3f0d4f9 commit a6a3ecb
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -35,7 +35,7 @@ def calcular_posicao(self, tempo): | |||
| 35 | 35 | :param tempo: o tempo do jogo | |
| 36 | 36 | :return: posição x, y do ator | |
| 37 | 37 | """ | |
| 38 | - return self.x, self.y | ||
| 38 | + return 1, 1 | ||
| 39 | 39 | ||
| 40 | 40 | def colidir(self, outro_ator, intervalo=1): | |
| 41 | 41 | """ | |
@@ -47,29 +47,20 @@ def colidir(self, outro_ator, intervalo=1): | |||
| 47 | 47 | ||
| 48 | 48 | :param outro_ator: Ator a ser considerado na colisão | |
| 49 | 49 | :param intervalo: Intervalo a ser considerado | |
| 50 | - :return: | ||
| 51 | 50 | """ | |
| 52 | - if self.status == DESTRUIDO or outro_ator.status == DESTRUIDO: | ||
| 53 | - return | ||
| 54 | - | ||
| 55 | - if self.x - intervalo <= outro_ator.x <= self.x + intervalo and self.y - intervalo <= outro_ator.y <= self.y + intervalo: | ||
| 56 | - self.status = DESTRUIDO | ||
| 57 | - self.caracter = self._caracter_destruido | ||
| 58 | - outro_ator.caracter = outro_ator._caracter_destruido | ||
| 59 | - outro_ator.status = DESTRUIDO | ||
| 51 | + pass | ||
| 60 | 52 | ||
| 61 | 53 | ||
| 62 | 54 | class Obstaculo(Ator): | |
| 63 | - _caracter_ativo = 'O' | ||
| 55 | + pass | ||
| 64 | 56 | ||
| 65 | 57 | ||
| 66 | 58 | class Porco(Ator): | |
| 67 | - _caracter_ativo = '@' | ||
| 68 | - _caracter_destruido = '+' | ||
| 59 | + pass | ||
| 69 | 60 | ||
| 70 | 61 | ||
| 71 | 62 | class Passaro(Ator): | |
| 72 | - velocidade_escalar = None | ||
| 63 | + velocidade_escalar = 10 | ||
| 73 | 64 | ||
| 74 | 65 | def __init__(self, x=0, y=0): | |
| 75 | 66 | """ | |
@@ -93,30 +84,15 @@ def foi_lancado(self): | |||
| 93 | 84 | ||
| 94 | 85 | :return: booleano | |
| 95 | 86 | """ | |
| 96 | - return self._tempo_de_lancamento is not None | ||
| 87 | + return True | ||
| 97 | 88 | ||
| 98 | 89 | def colidir_com_chao(self): | |
| 99 | 90 | """ | |
| 100 | 91 | Método que executa lógica de colisão com o chão. Toda vez que y for menor ou igual a 0, | |
| 101 | 92 | o status dos Passaro deve ser alterado para destruido, bem como o seu caracter | |
| 102 | 93 | ||
| 103 | 94 | """ | |
| 104 | - if self.y <= 0: | ||
| 105 | - self.status = DESTRUIDO | ||
| 106 | - self.caracter = self._caracter_destruido | ||
| 107 | - | ||
| 108 | - def _calcular_posicao_horizontal(self, delta_t): | ||
| 109 | - self.x = self._x_inicial + self.velocidade_escalar * delta_t * math.cos(self._angulo_de_lancamento) | ||
| 110 | - | ||
| 111 | - def _calcular_posicao_vertical(self, delta_t): | ||
| 112 | - self.y = (self._y_inicial + | ||
| 113 | - self.velocidade_escalar * delta_t * math.sin(self._angulo_de_lancamento) - | ||
| 114 | - (GRAVIDADE / 2) * delta_t ** 2) | ||
| 115 | - | ||
| 116 | - def _calcular_posicao(self, tempo): | ||
| 117 | - delta_t = tempo - self._tempo_de_lancamento | ||
| 118 | - self._calcular_posicao_vertical(delta_t) | ||
| 119 | - self._calcular_posicao_horizontal(delta_t) | ||
| 95 | + pass | ||
| 120 | 96 | ||
| 121 | 97 | def calcular_posicao(self, tempo): | |
| 122 | 98 | """ | |
@@ -132,11 +108,7 @@ def calcular_posicao(self, tempo): | |||
| 132 | 108 | :param tempo: tempo de jogo a ser calculada a posição | |
| 133 | 109 | :return: posição x, y | |
| 134 | 110 | """ | |
| 135 | - if self._tempo_de_lancamento is None: | ||
| 136 | - return self._x_inicial, self._y_inicial | ||
| 137 | - if self.status == ATIVO: | ||
| 138 | - self._calcular_posicao(tempo) | ||
| 139 | - return self.x, self.y | ||
| 111 | + return 1, 1 | ||
| 140 | 112 | ||
| 141 | 113 | ||
| 142 | 114 | def lancar(self, angulo, tempo_de_lancamento): | |
@@ -148,23 +120,12 @@ def lancar(self, angulo, tempo_de_lancamento): | |||
| 148 | 120 | :param tempo_de_lancamento: | |
| 149 | 121 | :return: | |
| 150 | 122 | """ | |
| 151 | - self._tempo_de_lancamento = tempo_de_lancamento | ||
| 152 | - self._angulo_de_lancamento = math.radians(angulo) | ||
| 153 | - | ||
| 154 | - def _aguardando_lancamento(self, tempo): | ||
| 155 | - return not self.foi_lancado() or tempo < self._tempo_de_lancamento | ||
| 156 | - | ||
| 157 | - def _ja_colidiu(self): | ||
| 158 | - return self.foi_lancado() and self.status() == DESTRUIDO | ||
| 123 | + pass | ||
| 159 | 124 | ||
| 160 | 125 | ||
| 161 | 126 | class PassaroAmarelo(Passaro): | |
| 162 | - velocidade_escalar = 30 # m/s | ||
| 163 | - _caracter_ativo = 'A' | ||
| 164 | - _caracter_destruido = 'a' | ||
| 127 | + pass | ||
| 165 | 128 | ||
| 166 | 129 | ||
| 167 | 130 | class PassaroVermelho(Passaro): | |
| 168 | - velocidade_escalar = 20 # m/s | ||
| 169 | - _caracter_ativo = 'V' | ||
| 170 | - _caracter_destruido = 'v' | ||
| 131 | + pass | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -28,32 +28,30 @@ def __init__(self, intervalo_de_colisao=1): | |||
| 28 | 28 | self._porcos = [] | |
| 29 | 29 | self._obstaculos = [] | |
| 30 | 30 | ||
| 31 | - def _adicionar_ator(self, lista, *atores): | ||
| 32 | - lista.extend(atores) | ||
| 33 | 31 | ||
| 34 | 32 | def adicionar_obstaculo(self, *obstaculos): | |
| 35 | 33 | """ | |
| 36 | 34 | Adiciona obstáculos em uma fase | |
| 37 | 35 | ||
| 38 | 36 | :param obstaculos: | |
| 39 | 37 | """ | |
| 40 | - self._adicionar_ator(self._obstaculos, *obstaculos) | ||
| 38 | + pass | ||
| 41 | 39 | ||
| 42 | 40 | def adicionar_porco(self, *porcos): | |
| 43 | 41 | """ | |
| 44 | 42 | Adiciona porcos em uma fase | |
| 45 | 43 | ||
| 46 | 44 | :param porcos: | |
| 47 | 45 | """ | |
| 48 | - self._adicionar_ator(self._porcos, *porcos) | ||
| 46 | + pass | ||
| 49 | 47 | ||
| 50 | 48 | def adicionar_passaro(self, *passaros): | |
| 51 | 49 | """ | |
| 52 | 50 | Adiciona pássaros em uma fase | |
| 53 | 51 | ||
| 54 | 52 | :param passaros: | |
| 55 | 53 | """ | |
| 56 | - self._adicionar_ator(self._passaros, *passaros) | ||
| 54 | + pass | ||
| 57 | 55 | ||
| 58 | 56 | def acabou(self): | |
| 59 | 57 | """ | |
@@ -66,7 +64,7 @@ def acabou(self): | |||
| 66 | 64 | ||
| 67 | 65 | :return: booleano | |
| 68 | 66 | """ | |
| 69 | - return not self._existe_porco_ativo() or not self._existe_passaro_ativo() | ||
| 67 | + return True | ||
| 70 | 68 | ||
| 71 | 69 | def status(self): | |
| 72 | 70 | """ | |
@@ -78,12 +76,8 @@ def status(self): | |||
| 78 | 76 | ||
| 79 | 77 | Se o jogo acabou com vitória (não existe porco ativo), retorna essa mensagem | |
| 80 | 78 | ||
| 81 | - :return: | ||
| 79 | + :return: Mensagem de status | ||
| 82 | 80 | """ | |
| 83 | - if not self._existe_porco_ativo(): | ||
| 84 | - return 'Jogo em encerrado. Você ganhou!' | ||
| 85 | - if self._existe_passaro_ativo(): | ||
| 86 | - return 'Jogo em andamento.' | ||
| 87 | 81 | return 'Jogo em encerrado. Você perdeu!' | |
| 88 | 82 | ||
| 89 | 83 | def lancar(self, angulo, tempo): | |
@@ -97,11 +91,7 @@ def lancar(self, angulo, tempo): | |||
| 97 | 91 | :param angulo: ângulo de lançamento | |
| 98 | 92 | :param tempo: Tempo de lançamento | |
| 99 | 93 | """ | |
| 100 | - for passaro in self._passaros: | ||
| 101 | - if not passaro.foi_lancado(): | ||
| 102 | - passaro.lancar(angulo, tempo) | ||
| 103 | - return | ||
| 104 | - | ||
| 94 | + pass | ||
| 105 | 95 | ||
| 106 | 96 | def calcular_pontos(self, tempo): | |
| 107 | 97 | """ | |
@@ -112,32 +102,10 @@ def calcular_pontos(self, tempo): | |||
| 112 | 102 | :param tempo: tempo para o qual devem ser calculados os pontos | |
| 113 | 103 | :return: objeto do tipo Ponto | |
| 114 | 104 | """ | |
| 115 | - pontos = [self._calcular_ponto_de_passaro(p, tempo) for p in self._passaros] | ||
| 116 | - obstaculos_e_porcos = chain(self._obstaculos, self._porcos) | ||
| 117 | - pontos.extend([self._transformar_em_ponto(ator) for ator in obstaculos_e_porcos]) | ||
| 105 | + pontos=[] | ||
| 106 | + | ||
| 118 | 107 | return pontos | |
| 119 | 108 | ||
| 120 | 109 | def _transformar_em_ponto(self, ator): | |
| 121 | 110 | return Ponto(ator.x, ator.y, ator.caracter) | |
| 122 | 111 | ||
| 123 | - def _calcular_ponto_de_passaro(self, passaro, tempo, ): | ||
| 124 | - passaro.calcular_posicao(tempo) | ||
| 125 | - for ator in chain(self._obstaculos, self._porcos): | ||
| 126 | - if ATIVO == passaro.status: | ||
| 127 | - passaro.colidir(ator, self.intervalo_de_colisao) | ||
| 128 | - passaro.colidir_com_chao() | ||
| 129 | - else: | ||
| 130 | - break | ||
| 131 | - return self._transformar_em_ponto(passaro) | ||
| 132 | - | ||
| 133 | - def _existe_porco_ativo(self): | ||
| 134 | - return self._verificar_se_existe_ator_ativo(self._porcos) | ||
| 135 | - | ||
| 136 | - def _verificar_se_existe_ator_ativo(self, atores): | ||
| 137 | - for a in atores: | ||
| 138 | - if a.status == ATIVO: | ||
| 139 | - return True | ||
| 140 | - return False | ||
| 141 | - | ||
| 142 | - def _existe_passaro_ativo(self): | ||
| 143 | - return self._verificar_se_existe_ator_ativo(self._passaros) | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments