class BuilderAbstrato: def __init__(self, fabrica): self.inimigo = Inimigo() self.fabrica = fabrica def prepararImagem(self): self.inimigo.set_imagem(self.fabrica.criarImagem()) def prepararPontuacao(self): self.inimigo.set_pontuacao(self.fabrica.criarPontuacao()) def inicializarInimigo(self): return self.inimigo
def test_shoot_helicoptero(self): pygame.init() pygame.font.init() pygame.mouse.set_visible(True) screen = pygame.display.set_mode((640, 480)) clock = pygame.time.Clock() helicoptero = Helicoptero.Helicoptero("aviao.png", 10) inimigo = Inimigo() inimigo.rect.y = 10 sprites_list = pygame.sprite.Group() helicoptero_sprite = pygame.sprite.Group() inimigos_list = pygame.sprite.Group() sprites_list.add(helicoptero) sprites_list.add(inimigo) helicoptero_sprite.add(helicoptero) inimigos_list.add(inimigo) while True: screen.fill((255, 255, 255)) #quadrado = pygame.draw.rect(screen, (0,0,0), (500,30,20,20), 0) #sprites.add(quadrado) #print('Colisao helicoptero x inimigo: %s' % result1) #print('Colisao municao x inimigo: %s' % result2) #print('Colisao municao x inimigo: %s' % result2) result1 = pygame.sprite.groupcollide(helicoptero_sprite, inimigos_list, True, False) result2 = pygame.sprite.groupcollide(helicoptero.municoes_list, inimigos_list, False, True) for inimigo in inimigos_list: result3 = pygame.sprite.groupcollide(helicoptero_sprite, inimigo.municoes_list, True, False) if result3: print("GAME OVER") for event in pygame.event.get(): if event.type == pygame.KEYDOWN: if event.key == pygame.K_ESCAPE: # ESC pygame.quit() if event.key == pygame.K_SPACE: helicoptero.atirar() clock.tick(15) sprites_list.update() for sprite in sprites_list: sprite.draw(screen) pygame.display.update()
def mostrar_fase(self, game): if game.botoes[0]: #Cima self.player.move_cima() elif game.botoes[1]: #Baixo self.player.move_baixo() if game.botoes[7]: #backspace self.player.atirar() self.move_cenario_direita(game) if self.time <= 0: inimigo = Inimigo() self.inimigos_list.add(inimigo) self.sprites_list.add(inimigo) self.time = 60 self.time -= 1 print(self.inimigos_list) result1 = pygame.sprite.groupcollide(self.helicoptero_sprite, self.inimigos_list, False, True) if result1: print("Fim de jogo") return 2 result2 = pygame.sprite.groupcollide(self.player.municoes_list, self.inimigos_list, False, True) if result2: self.player.atualiza_acertos() self.player.atualiza_pontos() for inimigo in self.inimigos_list: result3 = pygame.sprite.groupcollide(self.helicoptero_sprite, inimigo.municoes_list, False, True) if result3: inimigo.kill() print("OK") return 2 self.sprites_list.update() for sprite in self.sprites_list: sprite.draw(game.screen) self.atualiza_pontuacao() pygame.display.flip() return 1
def __init__(self, fabrica): self.inimigo = Inimigo() self.fabrica = fabrica