def teste_status(self): fase = Fase() porcos = [Porco(1, 1) for i in range(2)] passaros = [PassaroAmarelo(1, 1) for i in range(2)] fase.adicionar_porco(*porcos) fase.adicionar_passaro(*passaros) self.assertEqual('Jogo em andamento.', fase.status(0)) self.assertEqual('Jogo em andamento.', fase.status(2.9)) self.assertEqual('Jogo em andamento.', fase.status(3)) for passaro, porco in zip(passaros, porcos): passaro.colidir(porco, 3) self.assertEqual('Jogo em andamento.', fase.status(0)) self.assertEqual('Jogo em andamento.', fase.status(2.9)) self.assertEqual('Jogo em encerrado. Você ganhou!', fase.status(3), 'Sem porcos ativos o jogo deveria terminar com vitória') fase.adicionar_obstaculo(Obstaculo()) self.assertEqual('Jogo em encerrado. Você ganhou!', fase.status(3), 'Obstáculo não interfere para definir vitória') porco = Porco() fase.adicionar_porco(porco) self.assertEqual('Jogo em encerrado. Você perdeu!', fase.status(3), 'Com Porco ativo e sem pássaro para lançar, o jogo deveria acabar em derrota') fase.adicionar_passaro(PassaroAmarelo()) self.assertEqual('Jogo em andamento.', fase.status(3), 'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar') porco.colidir(porco, 3) self.assertEqual('Jogo em encerrado. Você ganhou!', fase.status(3), 'Sem porco ativo, o jogo deveria acabar com vitória')
def teste_status(self): fase = Fase() porcos = [Porco(1, 1) for i in range(2)] passaros = [PassaroAmarelo(1, 1) for i in range(2)] fase.adicionar_porco(*porcos) fase.adicionar_passaro(*passaros) self.assertEqual(EM_ANDAMENTO, fase.status()) for passaro, porco in zip(passaros, porcos): passaro.colidir(porco, 3) self.assertEqual(VITORIA, fase.status(), 'Sem porcos ativos o jogo deveria terminar com vitória') fase.adicionar_obstaculo(Obstaculo()) self.assertEqual(VITORIA, fase.status(), 'Obstáculo não interfere para definir vitória') porco = Porco() fase.adicionar_porco(porco) self.assertEqual(DERROTA, fase.status(), 'Com Porco ativo e sem pássaro para lançar, o jogo deveria acabar em derrota') fase.adicionar_passaro(PassaroAmarelo()) self.assertEqual(EM_ANDAMENTO, fase.status(), 'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar') porco.colidir(porco, 3) self.assertEqual(VITORIA, fase.status(), 'Sem porco ativo, o jogo deveria acabar com vitória')
def teste_acabou_com_porcos_e_passaros(self): fase = Fase() porcos = [Porco(1, 1) for i in range(2)] # criando 2 porcos passaros = [PassaroAmarelo(1, 1) for i in range(2)] # criando 2 pássaros fase.adicionar_porco(*porcos) fase.adicionar_passaro(*passaros) self.assertEqual(EM_ANDAMENTO, fase.status) # colidindo cada passaro com um porco no tempo 3 for passaro, porco in zip(passaros, porcos): passaro.colidir(porco, 3) self.assertEqual(VITORIA, fase.status) fase.adicionar_obstaculo(Obstaculo()) self.assertEqual(VITORIA, fase.status, 'Obstáculo não interfere no fim do jogo') fase.adicionar_porco(Porco()) self.assertEqual( DERROTA, fase.status, 'Com Porco ativo e sem pássaro para lançar, o jogo deveria acabar') fase.adicionar_passaro(PassaroAmarelo()) self.assertEqual( EM_ANDAMENTO, fase.status, 'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar' )
def teste_acabou_com_porcos_e_passaros(self): fase = Fase() porcos = [Porco(1, 1) for i in range(2)] # criando 2 porcos passaros = [PassaroAmarelo(1, 1) for i in range(2)] # criando 2 pássaros fase.adicionar_porco(*porcos) fase.adicionar_passaro(*passaros) self.assertFalse(fase.acabou(0)) self.assertFalse(fase.acabou(2.9)) self.assertFalse(fase.acabou(3)) # colidingo cada passaro com um porco no tempo 3 for passaro, porco in zip(passaros, porcos): passaro.colidir(porco, 3) self.assertFalse(fase.acabou(0)) self.assertFalse(fase.acabou(2.9)) self.assertTrue(fase.acabou(3)) fase.adicionar_obstaculo(Obstaculo()) self.assertTrue(fase.acabou(3), 'Obstáculo não interfere no fim do jogo') fase.adicionar_porco(Porco()) self.assertTrue(fase.acabou(3), 'Com Porco ativo e sem pássaro para lançar, o jogo deveria acabar') fase.adicionar_passaro(PassaroAmarelo()) self.assertFalse(fase.acabou(3), 'Com Porco ativo e com pássaro para lançar, o jogo não deveria acabar')
def teste_posicao_antes_do_lancamento(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar(90, 2) # passaro lancado a 90 graus no tempo 2 segundos # for t in range(20): t /= 10 self.assertEqual((1, 1), passaro_amarelo.calcular_posicao(t), 'Não deveria se mover no tempo %s < 2 segundtos' % t)
def teste_posicao_antes_do_lancamento(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar( 90, 2) # passaro lancado a 90 graus no tempo 2 segundos # for t in range(20): t /= 10 self.assertEqual( (1, 1), passaro_amarelo.calcular_posicao(t), 'Não deveria se mover no tempo %s < 2 segundtos' % t)
def teste_intervalo_de_colisao_nao_padrao(self): ''' Método que testa se o intervalo de colisão da Fase é repassado aos atores. valor testado: 31 ''' fase = Fase(30) passaro = PassaroAmarelo(1, 1) fase.adicionar_passaro(passaro) porco = Porco(31, 31) fase.adicionar_porco(porco) fase.calcular_pontos(0) self.assertEqual(DESTRUIDO, passaro.status(0)) self.assertEqual(DESTRUIDO, porco.status(0))
def teste_lacamento_vertical(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar( 90, 2) # passaro lancado a 90 graus no tempo 2 segundos # função auxiliar que mantém x fixo com valor 1, status Ativo, variando apenas o tempo e a posição y def assert_vertical(y_local, tempo): self.assert_passaro_posicao(1, y_local, ATIVO, passaro_amarelo, tempo) # subindo assert_vertical(1, 2.0) assert_vertical(1, 2.0) assert_vertical(1, 2.01) assert_vertical(2, 2.02) assert_vertical(2, 2.03) assert_vertical(2, 2.04) assert_vertical(2, 2.05) # descendo assert_vertical(46, 5.26) assert_vertical(46, 5.27) assert_vertical(46, 5.279999999999999) assert_vertical(46, 5.29) assert_vertical(46, 5.3) assert_vertical(46, 5.3100000000000005) assert_vertical(45, 5.32) assert_vertical(45, 5.33) assert_vertical(45, 5.34) assert_vertical(45, 5.35) assert_vertical(45, 5.359999999999999) assert_vertical(45, 5.37) assert_vertical(45, 5.38) assert_vertical(45, 5.390000000000001) assert_vertical(45, 5.4) assert_vertical(45, 5.41) assert_vertical(45, 5.42) assert_vertical(45, 5.43) assert_vertical(45, 5.4399999999999995) assert_vertical(45, 5.45) assert_vertical(45, 5.46) assert_vertical(45, 5.470000000000001) assert_vertical(45, 5.48) # preparando para impacto no chão assert_vertical(1, 8.0) assert_vertical(1, 8.01) # colisão self.assert_passaro_posicao(1, 0, DESTRUIDO, passaro_amarelo, 8.02)
def criar_fase_exemplo(multiplicador=1): fase_exemplo = Fase(1 if multiplicador == 1 else 32) passaros = [PassaroVermelho(3 * multiplicador, 3 * multiplicador), PassaroAmarelo(3 * multiplicador, 3 * multiplicador), PassaroAmarelo(3 * multiplicador, 3 * multiplicador)] porcos = [Porco(78 * multiplicador, multiplicador), Porco(70 * multiplicador, multiplicador)] obstaculos = [Obstaculo(31 * multiplicador, 10 * multiplicador)] fase_exemplo.adicionar_passaro(*passaros) fase_exemplo.adicionar_porco(*porcos) fase_exemplo.adicionar_obstaculo(*obstaculos) return fase_exemplo
def teste_colisao(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar(45, 2) # passaro lancado a 45 graus no tempo 2 segundos porco = Porco(4, 4) passaro_amarelo.calcular_posicao(2.12) # tempo exato quanto o passário chega em 4,3 passaro_amarelo.colidir(porco, 2.12) self.assertEqual(DESTRUIDO, passaro_amarelo.status(2.12)) # Deve ficar parado onde colidiu para qualquer tempo maior que o de colisão self.assertTupleEqual((4, 3), passaro_amarelo.calcular_posicao(2.13)) self.assertTupleEqual((4, 3), passaro_amarelo.calcular_posicao(1000))
def teste_lacamento_vertical(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar(90, 2) # passaro lancado a 90 graus no tempo 2 segundos # função auxiliar que mantém x fixo com valor 1, status Ativo, variando apenas o tempo e a posição y def assert_vertical(y_local, tempo): self.assert_passaro_posicao(1, y_local, ATIVO, passaro_amarelo, tempo) # subindo assert_vertical(1, 2.0) assert_vertical(1, 2.0) assert_vertical(1, 2.01) assert_vertical(2, 2.02) assert_vertical(2, 2.03) assert_vertical(2, 2.04) assert_vertical(2, 2.05) # descendo assert_vertical(46, 5.26) assert_vertical(46, 5.27) assert_vertical(46, 5.279999999999999) assert_vertical(46, 5.29) assert_vertical(46, 5.3) assert_vertical(46, 5.3100000000000005) assert_vertical(45, 5.32) assert_vertical(45, 5.33) assert_vertical(45, 5.34) assert_vertical(45, 5.35) assert_vertical(45, 5.359999999999999) assert_vertical(45, 5.37) assert_vertical(45, 5.38) assert_vertical(45, 5.390000000000001) assert_vertical(45, 5.4) assert_vertical(45, 5.41) assert_vertical(45, 5.42) assert_vertical(45, 5.43) assert_vertical(45, 5.4399999999999995) assert_vertical(45, 5.45) assert_vertical(45, 5.46) assert_vertical(45, 5.470000000000001) assert_vertical(45, 5.48) # preparando para impacto no chão assert_vertical(1, 8.0) assert_vertical(1, 8.01) # colisão self.assert_passaro_posicao(1, 0, DESTRUIDO, passaro_amarelo, 8.02)
def criar_fase_exemplo(): fase_exemplo = Fase() passaros = [PassaroVermelho(3, 3), PassaroAmarelo(3, 3), PassaroAmarelo(3, 3)] porcos = [Porco(78, 1), Porco(70, 1)] obstaculos = [Obstaculo(31, 10)] fase_exemplo.adicionar_passaro(*passaros) fase_exemplo.adicionar_porco(*porcos) fase_exemplo.adicionar_obstaculo(*obstaculos) fase_exemplo.lancar(45, 1) fase_exemplo.lancar(63, 3) fase_exemplo.lancar(23, 4) for i in range(86): fase_exemplo.calcular_pontos(i / 10) return fase_exemplo
def teste_adicionar_passaro(self): fase = Fase() self.assertListEqual([], fase._passaros) passaro = PassaroVermelho() fase.adicionar_passaro(passaro) self.assertListEqual([passaro], fase._passaros) passaro1, passaro2 = PassaroVermelho(), PassaroAmarelo() fase.adicionar_passaro(passaro1, passaro2) self.assertListEqual([passaro, passaro1, passaro2], fase._passaros)
def teste_colisao(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar( 45, 2) # passaro lancado a 45 graus no tempo 2 segundos porco = Porco(4, 4) x_calculado, y_calculado = passaro_amarelo.calcular_posicao(2.12) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado) passaro_amarelo.colidir(porco, 2.12) self.assertEqual(DESTRUIDO, passaro_amarelo.status(2.12)) # Deve ficar parado onde colidiu para qualquer tempo maior ou igual que o de colisão x_calculado, y_calculado = passaro_amarelo.calcular_posicao(2.12) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado) x_calculado, y_calculado = passaro_amarelo.calcular_posicao(1000) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado)
def teste_colisao(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar(45, 2) # passaro lancado a 45 graus no tempo 2 segundos porco = Porco(4, 4) x_calculado, y_calculado = passaro_amarelo.calcular_posicao(2.12) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado) passaro_amarelo.colidir(porco, 2.12) self.assertEqual(DESTRUIDO, passaro_amarelo.status(2.12)) # Deve ficar parado onde colidiu para qualquer tempo maior ou igual que o de colisão x_calculado, y_calculado = passaro_amarelo.calcular_posicao(2.12) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado) x_calculado, y_calculado = passaro_amarelo.calcular_posicao(1000) self.assertEqual(4, x_calculado) self.assertEqual(3, y_calculado)
def teste_lancar_passaro_sem_erro_quando_nao_existe_passaro(self): passaro_vermelho, passaro_amarelo = PassaroVermelho(1, 1), PassaroAmarelo(1, 1) fase = Fase() fase.adicionar_passaro(passaro_vermelho, passaro_amarelo) self.assertFalse(passaro_vermelho.foi_lancado()) self.assertFalse(passaro_amarelo.foi_lancado()) fase.lancar(90, 1) fase.lancar(45, 3) fase.lancar(31, 5) # testando que lançar passaros depios de todos lançados não causa erro self.assertTrue(passaro_vermelho.foi_lancado()) self.assertEqual(math.radians(90), passaro_vermelho._angulo_de_lancamento) self.assertEqual(1, passaro_vermelho._tempo_de_lancamento) self.assertTrue(passaro_amarelo.foi_lancado()) self.assertEqual(math.radians(45), passaro_amarelo._angulo_de_lancamento) self.assertEqual(3, passaro_amarelo._tempo_de_lancamento)
def teste_lacamento_vertical(self): """ Tests de lançamento vertical. Nele, o passaro só se move verticalmente e sua posição y se matém contanstante :return: """ passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar( 90, 2) # passaro lancado a 90 graus no tempo 2 segundos # subindo self.assert_posicao_vertical(1, 2.0, passaro_amarelo) self.assert_posicao_vertical(1, 2.01, passaro_amarelo) self.assert_posicao_vertical(2, 2.02, passaro_amarelo) self.assert_posicao_vertical(2, 2.03, passaro_amarelo) self.assert_posicao_vertical(2, 2.04, passaro_amarelo) self.assert_posicao_vertical(2, 2.05, passaro_amarelo) # descendo self.assert_posicao_vertical(46, 5.26, passaro_amarelo) self.assert_posicao_vertical(46, 5.27, passaro_amarelo) self.assert_posicao_vertical(46, 5.279999999999999, passaro_amarelo) self.assert_posicao_vertical(46, 5.29, passaro_amarelo) self.assert_posicao_vertical(46, 5.3, passaro_amarelo) self.assert_posicao_vertical(46, 5.3100000000000005, passaro_amarelo) self.assert_posicao_vertical(45, 5.32, passaro_amarelo) self.assert_posicao_vertical(45, 5.33, passaro_amarelo) self.assert_posicao_vertical(45, 5.34, passaro_amarelo) self.assert_posicao_vertical(45, 5.35, passaro_amarelo) self.assert_posicao_vertical(45, 5.359999999999999, passaro_amarelo) self.assert_posicao_vertical(45, 5.37, passaro_amarelo) self.assert_posicao_vertical(45, 5.38, passaro_amarelo) self.assert_posicao_vertical(45, 5.390000000000001, passaro_amarelo) self.assert_posicao_vertical(45, 5.4, passaro_amarelo) self.assert_posicao_vertical(45, 5.41, passaro_amarelo) self.assert_posicao_vertical(45, 5.42, passaro_amarelo) self.assert_posicao_vertical(45, 5.43, passaro_amarelo) self.assert_posicao_vertical(45, 5.4399999999999995, passaro_amarelo) self.assert_posicao_vertical(45, 5.45, passaro_amarelo) self.assert_posicao_vertical(45, 5.46, passaro_amarelo) self.assert_posicao_vertical(45, 5.470000000000001, passaro_amarelo) self.assert_posicao_vertical(45, 5.48, passaro_amarelo) # preparando para impacto no chão self.assert_posicao_vertical(1, 8.0, passaro_amarelo) self.assert_posicao_vertical(1, 8.01, passaro_amarelo) # colisão self.assert_posicao_vertical(0, 8.04, passaro_amarelo) passaro_amarelo.colidir_com_chao() self.assertEqual(DESTRUIDO, passaro_amarelo.status)
def teste_status(self): passaro_amarelo = PassaroAmarelo(1, 1) self.assertEqual('A', passaro_amarelo.caracter()) outro_ator_na_mesma_posicao = Ator() passaro_amarelo.colidir(outro_ator_na_mesma_posicao) self.assertEqual('a', passaro_amarelo.caracter())
def teste_colisao_com_chao(self): for i in range(30): passaro = PassaroAmarelo(i, 0) passaro.colidir_com_chao(3) self.assertEqual(DESTRUIDO, passaro.status(3), 'Deve colidir com chão sempre que y=0')
project_dir = path.dirname(__file__) project_dir = path.join('..') sys.path.append(project_dir) from atores import PassaroAmarelo, PassaroVermelho, Obstaculo, Porco from fase import Fase from placa_grafica_tkinter import rodar_fase from random import randint if __name__ == '__main__': fase = Fase(intervalo_de_colisao=32) # Adicionar Pássaros Amarelos for i in range(80): fase.adicionar_passaro(PassaroAmarelo(30, 30)) # Obstaculos theta = 270 h = 12 k = 7 step = 32 r = 50 while theta < 480: x = 600 + (h + r * math.cos(theta)) y = (k + r * math.sin(theta)) fase.adicionar_obstaculo(Obstaculo(x, y)) theta += 32
tela.after(passo, _animar) def rodar_fase(fase): root.title("Python Birds") root.geometry("800x600") root.resizable(0, 0) stage = Canvas(root, width=800, height=ALTURA_DA_TELA) multiplicador = 10 PassaroAmarelo.velocidade_escalar *= multiplicador PassaroVermelho.velocidade_escalar *= multiplicador atores.GRAVIDADE = 100 animar(root, stage, fase) if __name__ == '__main__': fase = Fase(intervalo_de_colisao=32) passaros = [ PassaroVermelho(30, 30), PassaroAmarelo(30, 30), PassaroAmarelo(30, 30) ] porcos = [Porco(750, 1), Porco(700, 1)] obstaculos = [Obstaculo(310, 100)] fase.adicionar_obstaculo(*obstaculos) fase.adicionar_passaro(*passaros) fase.adicionar_porco(*porcos) rodar_fase(fase)
def test_lancamento_45_graus(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar(45, 2) # passaro lancado a 45 graus no tempo 2 segundos self.assert_passaro_posicao(1, 1, ATIVO, passaro_amarelo, 2.0) self.assert_passaro_posicao(1, 1, ATIVO, passaro_amarelo, 2.01) self.assert_passaro_posicao(1, 1, ATIVO, passaro_amarelo, 2.02) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.03) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.04) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.05) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.06) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.07) self.assert_passaro_posicao(3, 3, ATIVO, passaro_amarelo, 2.08) self.assert_passaro_posicao(3, 3, ATIVO, passaro_amarelo, 2.09) self.assert_passaro_posicao(3, 3, ATIVO, passaro_amarelo, 2.1) self.assert_passaro_posicao(3, 3, ATIVO, passaro_amarelo, 2.11) self.assert_passaro_posicao(4, 3, ATIVO, passaro_amarelo, 2.12) self.assert_passaro_posicao(4, 4, ATIVO, passaro_amarelo, 2.13) self.assert_passaro_posicao(4, 4, ATIVO, passaro_amarelo, 2.14) self.assert_passaro_posicao(4, 4, ATIVO, passaro_amarelo, 2.15) self.assert_passaro_posicao(4, 4, ATIVO, passaro_amarelo, 2.16) self.assert_passaro_posicao(5, 4, ATIVO, passaro_amarelo, 2.17) self.assert_passaro_posicao(5, 5, ATIVO, passaro_amarelo, 2.18) self.assert_passaro_posicao(5, 5, ATIVO, passaro_amarelo, 2.19) self.assert_passaro_posicao(5, 5, ATIVO, passaro_amarelo, 2.2) self.assert_passaro_posicao(5, 5, ATIVO, passaro_amarelo, 2.21) self.assert_passaro_posicao(6, 5, ATIVO, passaro_amarelo, 2.22) self.assert_passaro_posicao(6, 6, ATIVO, passaro_amarelo, 2.23) self.assert_passaro_posicao(6, 6, ATIVO, passaro_amarelo, 2.24) self.assert_passaro_posicao(6, 6, ATIVO, passaro_amarelo, 2.25) self.assert_passaro_posicao(7, 6, ATIVO, passaro_amarelo, 2.26) self.assert_passaro_posicao(7, 6, ATIVO, passaro_amarelo, 2.27) self.assert_passaro_posicao(7, 7, ATIVO, passaro_amarelo, 2.2800000000000002) self.assert_passaro_posicao(7, 7, ATIVO, passaro_amarelo, 2.29) self.assert_passaro_posicao(7, 7, ATIVO, passaro_amarelo, 2.3) self.assert_passaro_posicao(8, 7, ATIVO, passaro_amarelo, 2.31) self.assert_passaro_posicao(8, 7, ATIVO, passaro_amarelo, 2.32) self.assert_passaro_posicao(8, 7, ATIVO, passaro_amarelo, 2.33) self.assert_passaro_posicao(8, 8, ATIVO, passaro_amarelo, 2.34) self.assert_passaro_posicao(8, 8, ATIVO, passaro_amarelo, 2.35) self.assert_passaro_posicao(9, 8, ATIVO, passaro_amarelo, 2.36) self.assert_passaro_posicao(9, 8, ATIVO, passaro_amarelo, 2.37) self.assert_passaro_posicao(9, 8, ATIVO, passaro_amarelo, 2.38) self.assert_passaro_posicao(9, 9, ATIVO, passaro_amarelo, 2.39) self.assert_passaro_posicao(9, 9, ATIVO, passaro_amarelo, 2.4) self.assert_passaro_posicao(10, 9, ATIVO, passaro_amarelo, 2.41) self.assert_passaro_posicao(10, 9, ATIVO, passaro_amarelo, 2.42) self.assert_passaro_posicao(10, 9, ATIVO, passaro_amarelo, 2.43) self.assert_passaro_posicao(10, 9, ATIVO, passaro_amarelo, 2.44) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.45) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.46) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.4699999999999998) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.48) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.49) self.assert_passaro_posicao(12, 10, ATIVO, passaro_amarelo, 2.5) self.assert_passaro_posicao(12, 11, ATIVO, passaro_amarelo, 2.51) self.assert_passaro_posicao(12, 11, ATIVO, passaro_amarelo, 2.52) self.assert_passaro_posicao(12, 11, ATIVO, passaro_amarelo, 2.5300000000000002) self.assert_passaro_posicao(12, 11, ATIVO, passaro_amarelo, 2.54) self.assert_passaro_posicao(13, 11, ATIVO, passaro_amarelo, 2.55) self.assert_passaro_posicao(13, 11, ATIVO, passaro_amarelo, 2.56) self.assert_passaro_posicao(13, 11, ATIVO, passaro_amarelo, 2.57) self.assert_passaro_posicao(13, 12, ATIVO, passaro_amarelo, 2.58) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.59) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.6) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.61) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.62) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.63) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.64) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.65) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.66) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.67) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.68) self.assert_passaro_posicao(16, 13, ATIVO, passaro_amarelo, 2.69) self.assert_passaro_posicao(16, 13, ATIVO, passaro_amarelo, 2.7) self.assert_passaro_posicao(16, 14, ATIVO, passaro_amarelo, 2.71) self.assert_passaro_posicao(16, 14, ATIVO, passaro_amarelo, 2.7199999999999998) self.assert_passaro_posicao(16, 14, ATIVO, passaro_amarelo, 2.73) self.assert_passaro_posicao(17, 14, ATIVO, passaro_amarelo, 2.74) self.assert_passaro_posicao(17, 14, ATIVO, passaro_amarelo, 2.75) self.assert_passaro_posicao(17, 14, ATIVO, passaro_amarelo, 2.76) self.assert_passaro_posicao(17, 14, ATIVO, passaro_amarelo, 2.77) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.7800000000000002) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.79) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.8) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.81) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.82) self.assert_passaro_posicao(19, 15, ATIVO, passaro_amarelo, 2.83) self.assert_passaro_posicao(19, 15, ATIVO, passaro_amarelo, 2.84) self.assert_passaro_posicao(19, 15, ATIVO, passaro_amarelo, 2.85) self.assert_passaro_posicao(19, 16, ATIVO, passaro_amarelo, 2.86) self.assert_passaro_posicao(19, 16, ATIVO, passaro_amarelo, 2.87) self.assert_passaro_posicao(20, 16, ATIVO, passaro_amarelo, 2.88) self.assert_passaro_posicao(20, 16, ATIVO, passaro_amarelo, 2.89) self.assert_passaro_posicao(20, 16, ATIVO, passaro_amarelo, 2.9) self.assert_passaro_posicao(20, 16, ATIVO, passaro_amarelo, 2.91) self.assert_passaro_posicao(21, 16, ATIVO, passaro_amarelo, 2.92) self.assert_passaro_posicao(21, 16, ATIVO, passaro_amarelo, 2.93) self.assert_passaro_posicao(21, 17, ATIVO, passaro_amarelo, 2.94) self.assert_passaro_posicao(21, 17, ATIVO, passaro_amarelo, 2.95) self.assert_passaro_posicao(21, 17, ATIVO, passaro_amarelo, 2.96) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 2.9699999999999998) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 2.98) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 2.99) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 3.0) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 3.01) self.assert_passaro_posicao(23, 17, ATIVO, passaro_amarelo, 3.02) self.assert_passaro_posicao(23, 18, ATIVO, passaro_amarelo, 3.0300000000000002) self.assert_passaro_posicao(23, 18, ATIVO, passaro_amarelo, 3.04) self.assert_passaro_posicao(23, 18, ATIVO, passaro_amarelo, 3.05) self.assert_passaro_posicao(23, 18, ATIVO, passaro_amarelo, 3.06) self.assert_passaro_posicao(24, 18, ATIVO, passaro_amarelo, 3.0700000000000003) self.assert_passaro_posicao(24, 18, ATIVO, passaro_amarelo, 3.08) self.assert_passaro_posicao(24, 18, ATIVO, passaro_amarelo, 3.09) self.assert_passaro_posicao(24, 18, ATIVO, passaro_amarelo, 3.1) self.assert_passaro_posicao(25, 18, ATIVO, passaro_amarelo, 3.1100000000000003) self.assert_passaro_posicao(25, 18, ATIVO, passaro_amarelo, 3.12) self.assert_passaro_posicao(25, 19, ATIVO, passaro_amarelo, 3.13) self.assert_passaro_posicao(25, 19, ATIVO, passaro_amarelo, 3.1399999999999997) self.assert_passaro_posicao(25, 19, ATIVO, passaro_amarelo, 3.15) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.16) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.17) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.1799999999999997) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.19) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.2) self.assert_passaro_posicao(27, 19, ATIVO, passaro_amarelo, 3.21) self.assert_passaro_posicao(27, 19, ATIVO, passaro_amarelo, 3.2199999999999998) self.assert_passaro_posicao(27, 20, ATIVO, passaro_amarelo, 3.23) self.assert_passaro_posicao(27, 20, ATIVO, passaro_amarelo, 3.24) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.25) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.26) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.27) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.2800000000000002) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.29) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.3) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.31) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.3200000000000003) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.33) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.34) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.35) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.3600000000000003) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.37) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.38) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.3899999999999997) self.assert_passaro_posicao(31, 21, ATIVO, passaro_amarelo, 3.4) self.assert_passaro_posicao(31, 21, ATIVO, passaro_amarelo, 3.41) self.assert_passaro_posicao(31, 21, ATIVO, passaro_amarelo, 3.42) self.assert_passaro_posicao(31, 21, ATIVO, passaro_amarelo, 3.4299999999999997) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.44) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.45) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.46) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.4699999999999998) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.48) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.49) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.5) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.51) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.52) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.5300000000000002) self.assert_passaro_posicao(34, 22, ATIVO, passaro_amarelo, 3.54) self.assert_passaro_posicao(34, 22, ATIVO, passaro_amarelo, 3.55) self.assert_passaro_posicao(34, 22, ATIVO, passaro_amarelo, 3.56) self.assert_passaro_posicao(34, 22, ATIVO, passaro_amarelo, 3.5700000000000003) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.58) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.59) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.6) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.6100000000000003) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.62) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.63) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.6399999999999997) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.65) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.66) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.67) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.6799999999999997) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.69) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.7) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.71) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.7199999999999998) self.assert_passaro_posicao(38, 23, ATIVO, passaro_amarelo, 3.73) self.assert_passaro_posicao(38, 23, ATIVO, passaro_amarelo, 3.74) self.assert_passaro_posicao(38, 23, ATIVO, passaro_amarelo, 3.75) self.assert_passaro_posicao(38, 23, ATIVO, passaro_amarelo, 3.76) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.77) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.7800000000000002) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.79) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.8) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.81) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.8200000000000003) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.83) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.84) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.85) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.8600000000000003) self.assert_passaro_posicao(41, 23, ATIVO, passaro_amarelo, 3.87) self.assert_passaro_posicao(41, 23, ATIVO, passaro_amarelo, 3.88) self.assert_passaro_posicao(41, 23, ATIVO, passaro_amarelo, 3.8899999999999997) self.assert_passaro_posicao(41, 23, ATIVO, passaro_amarelo, 3.9) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.91) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.92) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.9299999999999997) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.94) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.95) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 3.96) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 3.9699999999999998) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 3.98) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 3.99) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 4.0) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.01) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.02) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.029999999999999) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.04) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.05) self.assert_passaro_posicao(45, 23, ATIVO, passaro_amarelo, 4.0600000000000005) self.assert_passaro_posicao(45, 23, ATIVO, passaro_amarelo, 4.07) self.assert_passaro_posicao(45, 23, ATIVO, passaro_amarelo, 4.08) self.assert_passaro_posicao(45, 23, ATIVO, passaro_amarelo, 4.09) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.1) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.109999999999999) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.12) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.13) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.140000000000001) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.15) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.16) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.17) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.18) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.1899999999999995) self.assert_passaro_posicao(48, 23, ATIVO, passaro_amarelo, 4.2) self.assert_passaro_posicao(48, 23, ATIVO, passaro_amarelo, 4.21) self.assert_passaro_posicao(48, 23, ATIVO, passaro_amarelo, 4.220000000000001) self.assert_passaro_posicao(48, 23, ATIVO, passaro_amarelo, 4.23) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.24) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.25) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.26) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.27) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.279999999999999) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.29) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.3) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.3100000000000005) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.32) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.33) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.34) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.35) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.359999999999999) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.37) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.38) self.assert_passaro_posicao(52, 23, ATIVO, passaro_amarelo, 4.390000000000001) self.assert_passaro_posicao(52, 23, ATIVO, passaro_amarelo, 4.4) self.assert_passaro_posicao(52, 23, ATIVO, passaro_amarelo, 4.41) self.assert_passaro_posicao(52, 23, ATIVO, passaro_amarelo, 4.42) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.43) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.4399999999999995) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.45) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.46) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.470000000000001) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.48) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.49) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.5) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.51) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.52) self.assert_passaro_posicao(55, 23, ATIVO, passaro_amarelo, 4.529999999999999) self.assert_passaro_posicao(55, 23, ATIVO, passaro_amarelo, 4.54) self.assert_passaro_posicao(55, 23, ATIVO, passaro_amarelo, 4.55) self.assert_passaro_posicao(55, 23, ATIVO, passaro_amarelo, 4.5600000000000005) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.57) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.58) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.59) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.6) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.609999999999999) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.62) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.63) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.640000000000001) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.65) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.66) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.67) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.68) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.6899999999999995) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.7) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.71) self.assert_passaro_posicao(59, 22, ATIVO, passaro_amarelo, 4.720000000000001) self.assert_passaro_posicao(59, 22, ATIVO, passaro_amarelo, 4.73) self.assert_passaro_posicao(59, 22, ATIVO, passaro_amarelo, 4.74) self.assert_passaro_posicao(59, 22, ATIVO, passaro_amarelo, 4.75) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.76) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.77) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.779999999999999) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.79) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.8) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.8100000000000005) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.82) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.83) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.84) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.85) self.assert_passaro_posicao(62, 21, ATIVO, passaro_amarelo, 4.859999999999999) self.assert_passaro_posicao(62, 21, ATIVO, passaro_amarelo, 4.87) self.assert_passaro_posicao(62, 21, ATIVO, passaro_amarelo, 4.88) self.assert_passaro_posicao(62, 21, ATIVO, passaro_amarelo, 4.890000000000001) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.9) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.91) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.92) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.93) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.9399999999999995) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.95) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.96) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.970000000000001) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.98) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.99) self.assert_passaro_posicao(65, 20, ATIVO, passaro_amarelo, 5.0) self.assert_passaro_posicao(65, 20, ATIVO, passaro_amarelo, 5.01) self.assert_passaro_posicao(65, 19, ATIVO, passaro_amarelo, 5.02) self.assert_passaro_posicao(65, 19, ATIVO, passaro_amarelo, 5.029999999999999) self.assert_passaro_posicao(65, 19, ATIVO, passaro_amarelo, 5.04) self.assert_passaro_posicao(66, 19, ATIVO, passaro_amarelo, 5.05) self.assert_passaro_posicao(66, 19, ATIVO, passaro_amarelo, 5.0600000000000005) self.assert_passaro_posicao(66, 19, ATIVO, passaro_amarelo, 5.07) self.assert_passaro_posicao(66, 19, ATIVO, passaro_amarelo, 5.08) self.assert_passaro_posicao(67, 19, ATIVO, passaro_amarelo, 5.09) self.assert_passaro_posicao(67, 19, ATIVO, passaro_amarelo, 5.1) self.assert_passaro_posicao(67, 19, ATIVO, passaro_amarelo, 5.109999999999999) self.assert_passaro_posicao(67, 19, ATIVO, passaro_amarelo, 5.12) self.assert_passaro_posicao(67, 18, ATIVO, passaro_amarelo, 5.13) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.140000000000001) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.15) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.16) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.17) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.18) self.assert_passaro_posicao(69, 18, ATIVO, passaro_amarelo, 5.1899999999999995) self.assert_passaro_posicao(69, 18, ATIVO, passaro_amarelo, 5.2) self.assert_passaro_posicao(69, 18, ATIVO, passaro_amarelo, 5.21) self.assert_passaro_posicao(69, 17, ATIVO, passaro_amarelo, 5.220000000000001) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.23) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.24) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.25) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.26) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.27) self.assert_passaro_posicao(71, 17, ATIVO, passaro_amarelo, 5.279999999999999) self.assert_passaro_posicao(71, 17, ATIVO, passaro_amarelo, 5.29) self.assert_passaro_posicao(71, 17, ATIVO, passaro_amarelo, 5.3) self.assert_passaro_posicao(71, 16, ATIVO, passaro_amarelo, 5.3100000000000005) self.assert_passaro_posicao(71, 16, ATIVO, passaro_amarelo, 5.32) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.33) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.34) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.35) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.359999999999999) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.37) self.assert_passaro_posicao(73, 16, ATIVO, passaro_amarelo, 5.38) self.assert_passaro_posicao(73, 15, ATIVO, passaro_amarelo, 5.390000000000001) self.assert_passaro_posicao(73, 15, ATIVO, passaro_amarelo, 5.4) self.assert_passaro_posicao(73, 15, ATIVO, passaro_amarelo, 5.41) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.42) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.43) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.4399999999999995) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.45) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.46) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.470000000000001) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.48) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.49) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.5) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.51) self.assert_passaro_posicao(76, 14, ATIVO, passaro_amarelo, 5.52) self.assert_passaro_posicao(76, 14, ATIVO, passaro_amarelo, 5.529999999999999) self.assert_passaro_posicao(76, 13, ATIVO, passaro_amarelo, 5.54) self.assert_passaro_posicao(76, 13, ATIVO, passaro_amarelo, 5.55) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.5600000000000005) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.57) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.58) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.59) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.6) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.609999999999999) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.62) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.63) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.640000000000001) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.65) self.assert_passaro_posicao(79, 12, ATIVO, passaro_amarelo, 5.66) self.assert_passaro_posicao(79, 12, ATIVO, passaro_amarelo, 5.67) self.assert_passaro_posicao(79, 11, ATIVO, passaro_amarelo, 5.68) self.assert_passaro_posicao(79, 11, ATIVO, passaro_amarelo, 5.6899999999999995) self.assert_passaro_posicao(79, 11, ATIVO, passaro_amarelo, 5.7) self.assert_passaro_posicao(80, 11, ATIVO, passaro_amarelo, 5.71) self.assert_passaro_posicao(80, 11, ATIVO, passaro_amarelo, 5.720000000000001) self.assert_passaro_posicao(80, 11, ATIVO, passaro_amarelo, 5.73) self.assert_passaro_posicao(80, 10, ATIVO, passaro_amarelo, 5.74) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.75) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.76) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.77) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.779999999999999) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.79) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.8) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.8100000000000005) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.82) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.83) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.84) self.assert_passaro_posicao(83, 9, ATIVO, passaro_amarelo, 5.85) self.assert_passaro_posicao(83, 8, ATIVO, passaro_amarelo, 5.859999999999999) self.assert_passaro_posicao(83, 8, ATIVO, passaro_amarelo, 5.87) self.assert_passaro_posicao(83, 8, ATIVO, passaro_amarelo, 5.88) self.assert_passaro_posicao(84, 8, ATIVO, passaro_amarelo, 5.890000000000001) self.assert_passaro_posicao(84, 8, ATIVO, passaro_amarelo, 5.9) self.assert_passaro_posicao(84, 8, ATIVO, passaro_amarelo, 5.91) self.assert_passaro_posicao(84, 7, ATIVO, passaro_amarelo, 5.92) self.assert_passaro_posicao(84, 7, ATIVO, passaro_amarelo, 5.93) self.assert_passaro_posicao(85, 7, ATIVO, passaro_amarelo, 5.9399999999999995) self.assert_passaro_posicao(85, 7, ATIVO, passaro_amarelo, 5.95) self.assert_passaro_posicao(85, 7, ATIVO, passaro_amarelo, 5.96) self.assert_passaro_posicao(85, 6, ATIVO, passaro_amarelo, 5.970000000000001) self.assert_passaro_posicao(85, 6, ATIVO, passaro_amarelo, 5.98) self.assert_passaro_posicao(86, 6, ATIVO, passaro_amarelo, 5.99) self.assert_passaro_posicao(86, 6, ATIVO, passaro_amarelo, 6.0) self.assert_passaro_posicao(86, 6, ATIVO, passaro_amarelo, 6.01) self.assert_passaro_posicao(86, 5, ATIVO, passaro_amarelo, 6.02) self.assert_passaro_posicao(86, 5, ATIVO, passaro_amarelo, 6.03) self.assert_passaro_posicao(87, 5, ATIVO, passaro_amarelo, 6.04) self.assert_passaro_posicao(87, 5, ATIVO, passaro_amarelo, 6.05) self.assert_passaro_posicao(87, 5, ATIVO, passaro_amarelo, 6.06) self.assert_passaro_posicao(87, 5, ATIVO, passaro_amarelo, 6.07) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.08) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.09) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.1) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.11) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.12) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.13) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.14) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.15) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.16) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.17) self.assert_passaro_posicao(90, 2, ATIVO, passaro_amarelo, 6.18) self.assert_passaro_posicao(90, 2, ATIVO, passaro_amarelo, 6.19) self.assert_passaro_posicao(90, 2, ATIVO, passaro_amarelo, 6.2) self.assert_passaro_posicao(90, 2, ATIVO, passaro_amarelo, 6.21) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.22) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.23) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.24) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.25) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.26) self.assert_passaro_posicao(92, 0, DESTRUIDO, passaro_amarelo, 6.27)
def teste_status(self): passaro_amarelo = PassaroAmarelo(1, 1) self.assert_ator_caracteres(passaro_amarelo, 'A', 'a')
def test_lancamento_45_graus(self): passaro_amarelo = PassaroAmarelo(1, 1) passaro_amarelo.lancar( 45, 2) # passaro lancado a 45 graus no tempo 2 segundos self.assert_passaro_posicao(1, 1, ATIVO, passaro_amarelo, 2.0) self.assert_passaro_posicao(1, 1, ATIVO, passaro_amarelo, 2.01) self.assert_passaro_posicao(1, 1, ATIVO, passaro_amarelo, 2.02) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.03) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.04) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.05) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.06) self.assert_passaro_posicao(2, 2, ATIVO, passaro_amarelo, 2.07) self.assert_passaro_posicao(3, 3, ATIVO, passaro_amarelo, 2.08) self.assert_passaro_posicao(3, 3, ATIVO, passaro_amarelo, 2.09) self.assert_passaro_posicao(3, 3, ATIVO, passaro_amarelo, 2.1) self.assert_passaro_posicao(3, 3, ATIVO, passaro_amarelo, 2.11) self.assert_passaro_posicao(4, 3, ATIVO, passaro_amarelo, 2.12) self.assert_passaro_posicao(4, 4, ATIVO, passaro_amarelo, 2.13) self.assert_passaro_posicao(4, 4, ATIVO, passaro_amarelo, 2.14) self.assert_passaro_posicao(4, 4, ATIVO, passaro_amarelo, 2.15) self.assert_passaro_posicao(4, 4, ATIVO, passaro_amarelo, 2.16) self.assert_passaro_posicao(5, 4, ATIVO, passaro_amarelo, 2.17) self.assert_passaro_posicao(5, 5, ATIVO, passaro_amarelo, 2.18) self.assert_passaro_posicao(5, 5, ATIVO, passaro_amarelo, 2.19) self.assert_passaro_posicao(5, 5, ATIVO, passaro_amarelo, 2.2) self.assert_passaro_posicao(5, 5, ATIVO, passaro_amarelo, 2.21) self.assert_passaro_posicao(6, 5, ATIVO, passaro_amarelo, 2.22) self.assert_passaro_posicao(6, 6, ATIVO, passaro_amarelo, 2.23) self.assert_passaro_posicao(6, 6, ATIVO, passaro_amarelo, 2.24) self.assert_passaro_posicao(6, 6, ATIVO, passaro_amarelo, 2.25) self.assert_passaro_posicao(7, 6, ATIVO, passaro_amarelo, 2.26) self.assert_passaro_posicao(7, 6, ATIVO, passaro_amarelo, 2.27) self.assert_passaro_posicao(7, 7, ATIVO, passaro_amarelo, 2.2800000000000002) self.assert_passaro_posicao(7, 7, ATIVO, passaro_amarelo, 2.29) self.assert_passaro_posicao(7, 7, ATIVO, passaro_amarelo, 2.3) self.assert_passaro_posicao(8, 7, ATIVO, passaro_amarelo, 2.31) self.assert_passaro_posicao(8, 7, ATIVO, passaro_amarelo, 2.32) self.assert_passaro_posicao(8, 7, ATIVO, passaro_amarelo, 2.33) self.assert_passaro_posicao(8, 8, ATIVO, passaro_amarelo, 2.34) self.assert_passaro_posicao(8, 8, ATIVO, passaro_amarelo, 2.35) self.assert_passaro_posicao(9, 8, ATIVO, passaro_amarelo, 2.36) self.assert_passaro_posicao(9, 8, ATIVO, passaro_amarelo, 2.37) self.assert_passaro_posicao(9, 8, ATIVO, passaro_amarelo, 2.38) self.assert_passaro_posicao(9, 9, ATIVO, passaro_amarelo, 2.39) self.assert_passaro_posicao(9, 9, ATIVO, passaro_amarelo, 2.4) self.assert_passaro_posicao(10, 9, ATIVO, passaro_amarelo, 2.41) self.assert_passaro_posicao(10, 9, ATIVO, passaro_amarelo, 2.42) self.assert_passaro_posicao(10, 9, ATIVO, passaro_amarelo, 2.43) self.assert_passaro_posicao(10, 9, ATIVO, passaro_amarelo, 2.44) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.45) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.46) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.4699999999999998) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.48) self.assert_passaro_posicao(11, 10, ATIVO, passaro_amarelo, 2.49) self.assert_passaro_posicao(12, 10, ATIVO, passaro_amarelo, 2.5) self.assert_passaro_posicao(12, 11, ATIVO, passaro_amarelo, 2.51) self.assert_passaro_posicao(12, 11, ATIVO, passaro_amarelo, 2.52) self.assert_passaro_posicao(12, 11, ATIVO, passaro_amarelo, 2.5300000000000002) self.assert_passaro_posicao(12, 11, ATIVO, passaro_amarelo, 2.54) self.assert_passaro_posicao(13, 11, ATIVO, passaro_amarelo, 2.55) self.assert_passaro_posicao(13, 11, ATIVO, passaro_amarelo, 2.56) self.assert_passaro_posicao(13, 11, ATIVO, passaro_amarelo, 2.57) self.assert_passaro_posicao(13, 12, ATIVO, passaro_amarelo, 2.58) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.59) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.6) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.61) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.62) self.assert_passaro_posicao(14, 12, ATIVO, passaro_amarelo, 2.63) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.64) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.65) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.66) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.67) self.assert_passaro_posicao(15, 13, ATIVO, passaro_amarelo, 2.68) self.assert_passaro_posicao(16, 13, ATIVO, passaro_amarelo, 2.69) self.assert_passaro_posicao(16, 13, ATIVO, passaro_amarelo, 2.7) self.assert_passaro_posicao(16, 14, ATIVO, passaro_amarelo, 2.71) self.assert_passaro_posicao(16, 14, ATIVO, passaro_amarelo, 2.7199999999999998) self.assert_passaro_posicao(16, 14, ATIVO, passaro_amarelo, 2.73) self.assert_passaro_posicao(17, 14, ATIVO, passaro_amarelo, 2.74) self.assert_passaro_posicao(17, 14, ATIVO, passaro_amarelo, 2.75) self.assert_passaro_posicao(17, 14, ATIVO, passaro_amarelo, 2.76) self.assert_passaro_posicao(17, 14, ATIVO, passaro_amarelo, 2.77) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.7800000000000002) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.79) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.8) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.81) self.assert_passaro_posicao(18, 15, ATIVO, passaro_amarelo, 2.82) self.assert_passaro_posicao(19, 15, ATIVO, passaro_amarelo, 2.83) self.assert_passaro_posicao(19, 15, ATIVO, passaro_amarelo, 2.84) self.assert_passaro_posicao(19, 15, ATIVO, passaro_amarelo, 2.85) self.assert_passaro_posicao(19, 16, ATIVO, passaro_amarelo, 2.86) self.assert_passaro_posicao(19, 16, ATIVO, passaro_amarelo, 2.87) self.assert_passaro_posicao(20, 16, ATIVO, passaro_amarelo, 2.88) self.assert_passaro_posicao(20, 16, ATIVO, passaro_amarelo, 2.89) self.assert_passaro_posicao(20, 16, ATIVO, passaro_amarelo, 2.9) self.assert_passaro_posicao(20, 16, ATIVO, passaro_amarelo, 2.91) self.assert_passaro_posicao(21, 16, ATIVO, passaro_amarelo, 2.92) self.assert_passaro_posicao(21, 16, ATIVO, passaro_amarelo, 2.93) self.assert_passaro_posicao(21, 17, ATIVO, passaro_amarelo, 2.94) self.assert_passaro_posicao(21, 17, ATIVO, passaro_amarelo, 2.95) self.assert_passaro_posicao(21, 17, ATIVO, passaro_amarelo, 2.96) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 2.9699999999999998) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 2.98) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 2.99) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 3.0) self.assert_passaro_posicao(22, 17, ATIVO, passaro_amarelo, 3.01) self.assert_passaro_posicao(23, 17, ATIVO, passaro_amarelo, 3.02) self.assert_passaro_posicao(23, 18, ATIVO, passaro_amarelo, 3.0300000000000002) self.assert_passaro_posicao(23, 18, ATIVO, passaro_amarelo, 3.04) self.assert_passaro_posicao(23, 18, ATIVO, passaro_amarelo, 3.05) self.assert_passaro_posicao(23, 18, ATIVO, passaro_amarelo, 3.06) self.assert_passaro_posicao(24, 18, ATIVO, passaro_amarelo, 3.0700000000000003) self.assert_passaro_posicao(24, 18, ATIVO, passaro_amarelo, 3.08) self.assert_passaro_posicao(24, 18, ATIVO, passaro_amarelo, 3.09) self.assert_passaro_posicao(24, 18, ATIVO, passaro_amarelo, 3.1) self.assert_passaro_posicao(25, 18, ATIVO, passaro_amarelo, 3.1100000000000003) self.assert_passaro_posicao(25, 18, ATIVO, passaro_amarelo, 3.12) self.assert_passaro_posicao(25, 19, ATIVO, passaro_amarelo, 3.13) self.assert_passaro_posicao(25, 19, ATIVO, passaro_amarelo, 3.1399999999999997) self.assert_passaro_posicao(25, 19, ATIVO, passaro_amarelo, 3.15) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.16) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.17) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.1799999999999997) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.19) self.assert_passaro_posicao(26, 19, ATIVO, passaro_amarelo, 3.2) self.assert_passaro_posicao(27, 19, ATIVO, passaro_amarelo, 3.21) self.assert_passaro_posicao(27, 19, ATIVO, passaro_amarelo, 3.2199999999999998) self.assert_passaro_posicao(27, 20, ATIVO, passaro_amarelo, 3.23) self.assert_passaro_posicao(27, 20, ATIVO, passaro_amarelo, 3.24) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.25) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.26) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.27) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.2800000000000002) self.assert_passaro_posicao(28, 20, ATIVO, passaro_amarelo, 3.29) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.3) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.31) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.3200000000000003) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.33) self.assert_passaro_posicao(29, 20, ATIVO, passaro_amarelo, 3.34) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.35) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.3600000000000003) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.37) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.38) self.assert_passaro_posicao(30, 21, ATIVO, passaro_amarelo, 3.3899999999999997) self.assert_passaro_posicao(31, 21, ATIVO, passaro_amarelo, 3.4) self.assert_passaro_posicao(31, 21, ATIVO, passaro_amarelo, 3.41) self.assert_passaro_posicao(31, 21, ATIVO, passaro_amarelo, 3.42) self.assert_passaro_posicao(31, 21, ATIVO, passaro_amarelo, 3.4299999999999997) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.44) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.45) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.46) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.4699999999999998) self.assert_passaro_posicao(32, 21, ATIVO, passaro_amarelo, 3.48) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.49) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.5) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.51) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.52) self.assert_passaro_posicao(33, 22, ATIVO, passaro_amarelo, 3.5300000000000002) self.assert_passaro_posicao(34, 22, ATIVO, passaro_amarelo, 3.54) self.assert_passaro_posicao(34, 22, ATIVO, passaro_amarelo, 3.55) self.assert_passaro_posicao(34, 22, ATIVO, passaro_amarelo, 3.56) self.assert_passaro_posicao(34, 22, ATIVO, passaro_amarelo, 3.5700000000000003) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.58) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.59) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.6) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.6100000000000003) self.assert_passaro_posicao(35, 22, ATIVO, passaro_amarelo, 3.62) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.63) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.6399999999999997) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.65) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.66) self.assert_passaro_posicao(36, 22, ATIVO, passaro_amarelo, 3.67) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.6799999999999997) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.69) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.7) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.71) self.assert_passaro_posicao(37, 23, ATIVO, passaro_amarelo, 3.7199999999999998) self.assert_passaro_posicao(38, 23, ATIVO, passaro_amarelo, 3.73) self.assert_passaro_posicao(38, 23, ATIVO, passaro_amarelo, 3.74) self.assert_passaro_posicao(38, 23, ATIVO, passaro_amarelo, 3.75) self.assert_passaro_posicao(38, 23, ATIVO, passaro_amarelo, 3.76) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.77) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.7800000000000002) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.79) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.8) self.assert_passaro_posicao(39, 23, ATIVO, passaro_amarelo, 3.81) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.8200000000000003) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.83) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.84) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.85) self.assert_passaro_posicao(40, 23, ATIVO, passaro_amarelo, 3.8600000000000003) self.assert_passaro_posicao(41, 23, ATIVO, passaro_amarelo, 3.87) self.assert_passaro_posicao(41, 23, ATIVO, passaro_amarelo, 3.88) self.assert_passaro_posicao(41, 23, ATIVO, passaro_amarelo, 3.8899999999999997) self.assert_passaro_posicao(41, 23, ATIVO, passaro_amarelo, 3.9) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.91) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.92) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.9299999999999997) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.94) self.assert_passaro_posicao(42, 23, ATIVO, passaro_amarelo, 3.95) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 3.96) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 3.9699999999999998) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 3.98) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 3.99) self.assert_passaro_posicao(43, 23, ATIVO, passaro_amarelo, 4.0) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.01) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.02) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.029999999999999) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.04) self.assert_passaro_posicao(44, 23, ATIVO, passaro_amarelo, 4.05) self.assert_passaro_posicao(45, 23, ATIVO, passaro_amarelo, 4.0600000000000005) self.assert_passaro_posicao(45, 23, ATIVO, passaro_amarelo, 4.07) self.assert_passaro_posicao(45, 23, ATIVO, passaro_amarelo, 4.08) self.assert_passaro_posicao(45, 23, ATIVO, passaro_amarelo, 4.09) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.1) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.109999999999999) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.12) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.13) self.assert_passaro_posicao(46, 23, ATIVO, passaro_amarelo, 4.140000000000001) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.15) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.16) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.17) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.18) self.assert_passaro_posicao(47, 23, ATIVO, passaro_amarelo, 4.1899999999999995) self.assert_passaro_posicao(48, 23, ATIVO, passaro_amarelo, 4.2) self.assert_passaro_posicao(48, 23, ATIVO, passaro_amarelo, 4.21) self.assert_passaro_posicao(48, 23, ATIVO, passaro_amarelo, 4.220000000000001) self.assert_passaro_posicao(48, 23, ATIVO, passaro_amarelo, 4.23) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.24) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.25) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.26) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.27) self.assert_passaro_posicao(49, 23, ATIVO, passaro_amarelo, 4.279999999999999) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.29) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.3) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.3100000000000005) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.32) self.assert_passaro_posicao(50, 23, ATIVO, passaro_amarelo, 4.33) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.34) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.35) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.359999999999999) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.37) self.assert_passaro_posicao(51, 23, ATIVO, passaro_amarelo, 4.38) self.assert_passaro_posicao(52, 23, ATIVO, passaro_amarelo, 4.390000000000001) self.assert_passaro_posicao(52, 23, ATIVO, passaro_amarelo, 4.4) self.assert_passaro_posicao(52, 23, ATIVO, passaro_amarelo, 4.41) self.assert_passaro_posicao(52, 23, ATIVO, passaro_amarelo, 4.42) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.43) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.4399999999999995) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.45) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.46) self.assert_passaro_posicao(53, 23, ATIVO, passaro_amarelo, 4.470000000000001) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.48) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.49) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.5) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.51) self.assert_passaro_posicao(54, 23, ATIVO, passaro_amarelo, 4.52) self.assert_passaro_posicao(55, 23, ATIVO, passaro_amarelo, 4.529999999999999) self.assert_passaro_posicao(55, 23, ATIVO, passaro_amarelo, 4.54) self.assert_passaro_posicao(55, 23, ATIVO, passaro_amarelo, 4.55) self.assert_passaro_posicao(55, 23, ATIVO, passaro_amarelo, 4.5600000000000005) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.57) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.58) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.59) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.6) self.assert_passaro_posicao(56, 22, ATIVO, passaro_amarelo, 4.609999999999999) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.62) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.63) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.640000000000001) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.65) self.assert_passaro_posicao(57, 22, ATIVO, passaro_amarelo, 4.66) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.67) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.68) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.6899999999999995) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.7) self.assert_passaro_posicao(58, 22, ATIVO, passaro_amarelo, 4.71) self.assert_passaro_posicao(59, 22, ATIVO, passaro_amarelo, 4.720000000000001) self.assert_passaro_posicao(59, 22, ATIVO, passaro_amarelo, 4.73) self.assert_passaro_posicao(59, 22, ATIVO, passaro_amarelo, 4.74) self.assert_passaro_posicao(59, 22, ATIVO, passaro_amarelo, 4.75) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.76) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.77) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.779999999999999) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.79) self.assert_passaro_posicao(60, 21, ATIVO, passaro_amarelo, 4.8) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.8100000000000005) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.82) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.83) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.84) self.assert_passaro_posicao(61, 21, ATIVO, passaro_amarelo, 4.85) self.assert_passaro_posicao(62, 21, ATIVO, passaro_amarelo, 4.859999999999999) self.assert_passaro_posicao(62, 21, ATIVO, passaro_amarelo, 4.87) self.assert_passaro_posicao(62, 21, ATIVO, passaro_amarelo, 4.88) self.assert_passaro_posicao(62, 21, ATIVO, passaro_amarelo, 4.890000000000001) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.9) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.91) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.92) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.93) self.assert_passaro_posicao(63, 20, ATIVO, passaro_amarelo, 4.9399999999999995) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.95) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.96) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.970000000000001) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.98) self.assert_passaro_posicao(64, 20, ATIVO, passaro_amarelo, 4.99) self.assert_passaro_posicao(65, 20, ATIVO, passaro_amarelo, 5.0) self.assert_passaro_posicao(65, 20, ATIVO, passaro_amarelo, 5.01) self.assert_passaro_posicao(65, 19, ATIVO, passaro_amarelo, 5.02) self.assert_passaro_posicao(65, 19, ATIVO, passaro_amarelo, 5.029999999999999) self.assert_passaro_posicao(65, 19, ATIVO, passaro_amarelo, 5.04) self.assert_passaro_posicao(66, 19, ATIVO, passaro_amarelo, 5.05) self.assert_passaro_posicao(66, 19, ATIVO, passaro_amarelo, 5.0600000000000005) self.assert_passaro_posicao(66, 19, ATIVO, passaro_amarelo, 5.07) self.assert_passaro_posicao(66, 19, ATIVO, passaro_amarelo, 5.08) self.assert_passaro_posicao(67, 19, ATIVO, passaro_amarelo, 5.09) self.assert_passaro_posicao(67, 19, ATIVO, passaro_amarelo, 5.1) self.assert_passaro_posicao(67, 19, ATIVO, passaro_amarelo, 5.109999999999999) self.assert_passaro_posicao(67, 19, ATIVO, passaro_amarelo, 5.12) self.assert_passaro_posicao(67, 18, ATIVO, passaro_amarelo, 5.13) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.140000000000001) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.15) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.16) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.17) self.assert_passaro_posicao(68, 18, ATIVO, passaro_amarelo, 5.18) self.assert_passaro_posicao(69, 18, ATIVO, passaro_amarelo, 5.1899999999999995) self.assert_passaro_posicao(69, 18, ATIVO, passaro_amarelo, 5.2) self.assert_passaro_posicao(69, 18, ATIVO, passaro_amarelo, 5.21) self.assert_passaro_posicao(69, 17, ATIVO, passaro_amarelo, 5.220000000000001) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.23) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.24) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.25) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.26) self.assert_passaro_posicao(70, 17, ATIVO, passaro_amarelo, 5.27) self.assert_passaro_posicao(71, 17, ATIVO, passaro_amarelo, 5.279999999999999) self.assert_passaro_posicao(71, 17, ATIVO, passaro_amarelo, 5.29) self.assert_passaro_posicao(71, 17, ATIVO, passaro_amarelo, 5.3) self.assert_passaro_posicao(71, 16, ATIVO, passaro_amarelo, 5.3100000000000005) self.assert_passaro_posicao(71, 16, ATIVO, passaro_amarelo, 5.32) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.33) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.34) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.35) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.359999999999999) self.assert_passaro_posicao(72, 16, ATIVO, passaro_amarelo, 5.37) self.assert_passaro_posicao(73, 16, ATIVO, passaro_amarelo, 5.38) self.assert_passaro_posicao(73, 15, ATIVO, passaro_amarelo, 5.390000000000001) self.assert_passaro_posicao(73, 15, ATIVO, passaro_amarelo, 5.4) self.assert_passaro_posicao(73, 15, ATIVO, passaro_amarelo, 5.41) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.42) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.43) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.4399999999999995) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.45) self.assert_passaro_posicao(74, 15, ATIVO, passaro_amarelo, 5.46) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.470000000000001) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.48) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.49) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.5) self.assert_passaro_posicao(75, 14, ATIVO, passaro_amarelo, 5.51) self.assert_passaro_posicao(76, 14, ATIVO, passaro_amarelo, 5.52) self.assert_passaro_posicao(76, 14, ATIVO, passaro_amarelo, 5.529999999999999) self.assert_passaro_posicao(76, 13, ATIVO, passaro_amarelo, 5.54) self.assert_passaro_posicao(76, 13, ATIVO, passaro_amarelo, 5.55) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.5600000000000005) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.57) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.58) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.59) self.assert_passaro_posicao(77, 13, ATIVO, passaro_amarelo, 5.6) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.609999999999999) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.62) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.63) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.640000000000001) self.assert_passaro_posicao(78, 12, ATIVO, passaro_amarelo, 5.65) self.assert_passaro_posicao(79, 12, ATIVO, passaro_amarelo, 5.66) self.assert_passaro_posicao(79, 12, ATIVO, passaro_amarelo, 5.67) self.assert_passaro_posicao(79, 11, ATIVO, passaro_amarelo, 5.68) self.assert_passaro_posicao(79, 11, ATIVO, passaro_amarelo, 5.6899999999999995) self.assert_passaro_posicao(79, 11, ATIVO, passaro_amarelo, 5.7) self.assert_passaro_posicao(80, 11, ATIVO, passaro_amarelo, 5.71) self.assert_passaro_posicao(80, 11, ATIVO, passaro_amarelo, 5.720000000000001) self.assert_passaro_posicao(80, 11, ATIVO, passaro_amarelo, 5.73) self.assert_passaro_posicao(80, 10, ATIVO, passaro_amarelo, 5.74) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.75) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.76) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.77) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.779999999999999) self.assert_passaro_posicao(81, 10, ATIVO, passaro_amarelo, 5.79) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.8) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.8100000000000005) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.82) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.83) self.assert_passaro_posicao(82, 9, ATIVO, passaro_amarelo, 5.84) self.assert_passaro_posicao(83, 9, ATIVO, passaro_amarelo, 5.85) self.assert_passaro_posicao(83, 8, ATIVO, passaro_amarelo, 5.859999999999999) self.assert_passaro_posicao(83, 8, ATIVO, passaro_amarelo, 5.87) self.assert_passaro_posicao(83, 8, ATIVO, passaro_amarelo, 5.88) self.assert_passaro_posicao(84, 8, ATIVO, passaro_amarelo, 5.890000000000001) self.assert_passaro_posicao(84, 8, ATIVO, passaro_amarelo, 5.9) self.assert_passaro_posicao(84, 8, ATIVO, passaro_amarelo, 5.91) self.assert_passaro_posicao(84, 7, ATIVO, passaro_amarelo, 5.92) self.assert_passaro_posicao(84, 7, ATIVO, passaro_amarelo, 5.93) self.assert_passaro_posicao(85, 7, ATIVO, passaro_amarelo, 5.9399999999999995) self.assert_passaro_posicao(85, 7, ATIVO, passaro_amarelo, 5.95) self.assert_passaro_posicao(85, 7, ATIVO, passaro_amarelo, 5.96) self.assert_passaro_posicao(85, 6, ATIVO, passaro_amarelo, 5.970000000000001) self.assert_passaro_posicao(85, 6, ATIVO, passaro_amarelo, 5.98) self.assert_passaro_posicao(86, 6, ATIVO, passaro_amarelo, 5.99) self.assert_passaro_posicao(86, 6, ATIVO, passaro_amarelo, 6.0) self.assert_passaro_posicao(86, 6, ATIVO, passaro_amarelo, 6.01) self.assert_passaro_posicao(86, 5, ATIVO, passaro_amarelo, 6.02) self.assert_passaro_posicao(86, 5, ATIVO, passaro_amarelo, 6.03) self.assert_passaro_posicao(87, 5, ATIVO, passaro_amarelo, 6.04) self.assert_passaro_posicao(87, 5, ATIVO, passaro_amarelo, 6.05) self.assert_passaro_posicao(87, 5, ATIVO, passaro_amarelo, 6.06) self.assert_passaro_posicao(87, 5, ATIVO, passaro_amarelo, 6.07) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.08) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.09) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.1) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.11) self.assert_passaro_posicao(88, 4, ATIVO, passaro_amarelo, 6.12) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.13) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.14) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.15) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.16) self.assert_passaro_posicao(89, 3, ATIVO, passaro_amarelo, 6.17) self.assert_passaro_posicao(90, 2, ATIVO, passaro_amarelo, 6.18) self.assert_passaro_posicao(90, 2, ATIVO, passaro_amarelo, 6.19) self.assert_passaro_posicao(90, 2, ATIVO, passaro_amarelo, 6.2) self.assert_passaro_posicao(90, 2, ATIVO, passaro_amarelo, 6.21) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.22) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.23) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.24) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.25) self.assert_passaro_posicao(91, 1, ATIVO, passaro_amarelo, 6.26) self.assert_passaro_posicao(92, 0, ATIVO, passaro_amarelo, 6.29) passaro_amarelo.colidir_com_chao() self.assertEqual(DESTRUIDO, passaro_amarelo.status)
# -*- coding: utf-8 -*- from atores import PassaroVermelho, PassaroAmarelo, Porco, Obstaculo from fase import Fase import placa_grafica fase_exemplo = Fase() passaros = [PassaroVermelho(3, 3), PassaroAmarelo(3, 3), PassaroAmarelo(3, 3)] porcos = [Porco(78, 1), Porco(70, 1)] obstaculos = [Obstaculo(31, 10)] fase_exemplo.adicionar_passaro(*passaros) fase_exemplo.adicionar_porco(*porcos) fase_exemplo.adicionar_obstaculo(*obstaculos) # Solução para ganhar # fase_exemplo.lancar(45, 1) # fase_exemplo.lancar(63, 3) # fase_exemplo.lancar(23, 4) if __name__ == '__main__': placa_grafica.animar(fase_exemplo)