Ejemplo n.º 1
0
            monsters.add(mob3)
            if random.randrange(1, 10) == 1:
                bullet = Bullet(mob3.rect.centerx, mob3.rect.top)
                all_sprites.add(bullet)
                bullets.add(bullet)
                pew_sound.play()
        if random.randrange(1, 200) == 1:
            mob = Mob()
            # Cria um grupo só do inimigo
            all_sprites.add(mob)
            monsters.add(mob)

        if random.randrange(1, 50) == 1:
            #Cria plataforma
            tamanhos = [1, 3, 5]
            plat = Plataforma(WIDTH, HEIGHT - 300,
                              tamanhos[random.randrange(0, 3)])
            all_sprites.add(plat)
            plataformas.add(plat)

        for event in pygame.event.get():

            if event.type == pygame.QUIT:
                running = False

            if event.type == pygame.KEYDOWN:
                if event.key == pygame.K_LEFT:
                    vx = 8
                    player.imgs = []
                    n = 6
                    for i in range(n):
                        player.imgs.append(
def game_screen(screen):
    contador = 0
    clock = pygame.time.Clock()
    # Carrega o fundo do jogo
    background = pygame.image.load(path.join('Fundo4.jpg')).convert()
    background_rect = background.get_rect()
    x = 0 
    vx = 0
    
    #gravidade
    g = 1
    
    # Carrega os sons do jogo
    pygame.mixer.music.load(path.join(snd_dir, 'naruto.mp3'))
    pygame.mixer.music.set_volume(0.4)
    boom_sound = pygame.mixer.Sound(path.join(snd_dir, 'expl3.wav'))
    destroy_sound = pygame.mixer.Sound(path.join(snd_dir, 'expl6.wav'))
    pew_sound = pygame.mixer.Sound(path.join(snd_dir, 'pew.wav'))
    
    player = Player()
    # Cria um grupo só do inimigo
    monsters = pygame.sprite.Group()
    
    #Cria um grupo para plataformas
    plataformas = pygame.sprite.Group()
    
    # Cria um grupo de todos os sprites e adiciona a nave.
    all_sprites = pygame.sprite.Group()
    all_sprites.add(player)
    
    bullets = pygame.sprite.Group()
    pygame.mixer.music.play(loops=-1)
    PLAYING = 0
    state = PLAYING
    MORRENDO= 1
    DONE = 2
    
    
    #Cria Pontuação
    score = 0
    
    #Cria Vidas
    vidas=3
    
    while state != DONE and contador < 3:
        # Ajusta a velocidade do jogo.
        clock.tick(FPS)
        if random.randrange(1,100) == 1:
            mob2 = Mob2()
            all_sprites.add(mob2)
            monsters.add(mob2)
        if random.randrange(1,200) == 1:
            mob3 = Mob3()
            all_sprites.add(mob3)
            monsters.add(mob3)
        if random.randrange(1,200) == 1:
            mob = Mob()

            # Cria um grupo só do inimigo
            all_sprites.add(mob)
            monsters.add(mob)
        
        if random.randrange(1, 50) == 1:
            #Cria plataforma
            tamanhos = [1, 3, 5]
            plat = Plataforma(WIDTH, HEIGHT-325, tamanhos[random.randrange(0, 3)])
            all_sprites.add(plat)
            plataformas.add(plat)
        
        for event in pygame.event.get():
            
            if event.type == pygame.QUIT:
                running = False
            
            if event.type == pygame.KEYDOWN:
                
                if event.key == pygame.K_LEFT:
                    vx = 8
                    player.imgs = []
                    n=6
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Left{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.step = 5
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    
                if event.key == pygame.K_RIGHT:
                    vx = -8
                    player.imgs = []
                    n=6
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Run{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.step = 5
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    
                if event.key == pygame.K_UP:#pulo
                    player.speedy = -15
                        
                if event.key == pygame.K_DOWN:
                    player.speedy = 10
                    
                if event.key == pygame.K_SPACE:
                    player.imgs = []
                    n=5
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Punch{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.step=5
                    player.image = pygame.transform.scale(player.image, (1,1))
                    bullet = Bullet(player.rect.centerx, player.rect.top)
                    all_sprites.add(bullet)
                    bullets.add(bullet)
                    pew_sound.play()
                    
                if event.key == pygame.K_m:
                    player.imgs = []
                    n=6
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "R{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.step=5
                    player.image = pygame.transform.scale(player.image, (1,1))
                    ras = Rasengan(player.rect.centerx, player.rect.top)
                    all_sprites.add(ras)
                    bullets.add(ras)
                    pew_sound.play()

                                
            #################################        
            # Verifica se soltou alguma tecla.
            if event.type == pygame.KEYUP:
                # Dependendo da tecla, altera a velocidade.
                if event.key == pygame.K_LEFT:
                    vx = 0
                    player.imgs = []
                    n=6
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Naruto{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                if event.key == pygame.K_RIGHT:
                    vx = 0
                    player.imgs = []
                    n=6
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Naruto{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                if event.key == pygame.K_UP:
                    if event.key == pygame.K_RIGHT:
                        vx = 0
                        player.imgs = []
                        n=6
                        for i in range(n):
                            player.imgs.append(pygame.image.load(path.join(img_dir, "Naruto{0}.png".format(i+1))).convert())
                        player.frame = 0
                        player.image = player.imgs[player.frame]
                        player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                if event.key == pygame.K_DOWN:
                    player.speedy = 0
                if event.key == pygame.K_SPACE:
                    player.imgs = []
                    n=6
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Run{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                    player.step=5
                if event.key == pygame.K_m:
                    player.imgs = []
                    player.steps = 5
                    n=6
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Run{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.steps = 5
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                    
        if player.rect.y < HEIGHT/2 - 45.5:#gravidade
                player.speedy +=g 
                    
        # Verifica se houve colisão entre tiro e inimigo
        hits = pygame.sprite.groupcollide(monsters, bullets, True, True)
        for hit in hits:
            # Pode haver mais de um
            score += 50 
            # O meteoro e destruido e precisa ser recriado
            destroy_sound.play()
            contador += 1
            #m = Mob() 
            #all_sprites.add(m)
            #monsters.add(m)
            
        
        # Verifica se houve colisão entre personagem e inimigo
        hits = pygame.sprite.spritecollide(player, monsters, False, pygame.sprite.collide_circle)
        if hits:
            # Toca o som da colisão
            boom_sound.play()
            #time.sleep(5) # Precisa esperar senão fecha
            #morte
            #morte = Morte(hit.rect.center)
            #all_sprites.add(morte)
            
            boom_sound.play()
            #all_sprites.add(morte)
            #state = MORRENDO
            #morte_tick = pygame.time.get_ticks()
            #morte_duration = morte.frame_ticks * len(morte.morte_anim) + 400
            #if vidas<=0:
            player.kill()
            running = False
            #else:
                #vidas-=1
                
                
            
                    
        
        # Depois de processar os eventos.
        # Atualiza a acao de cada sprite.
        all_sprites.update()
    
        # A cada loop, redesenha o fundo e os sprites
        screen.fill(BLACK)
        rel_x = x % background.get_rect().width
        x+= vx
        screen.blit(background, (rel_x -background.get_rect().width , 0))
        
        if  rel_x  < WIDTH:
            screen.blit(background, (rel_x, 0))
        all_sprites.draw(screen)
        
        
        # Depois de desenhar tudo, inverte o display.
        pygame.display.flip()
        
    #Desenha pontuação
    draw_text(screen, str(score), 18, WIDTH/2, 50)
    #Desenha vidas
    #draw_text(screen, str(vidas), 18, WIDTH/2, 80)
        
        
    g = 0
        
    while state != DONE and contador >= 3:
        # Ajusta a velocidade do jogo.
        clock.tick(FPS)
        if random.randrange(1,100) == 1:
            mob2 = Mob2()
            all_sprites.add(mob2)
            monsters.add(mob2)
        if random.randrange(1,200) == 1:
            mob3 = Mob3()
            all_sprites.add(mob3)
            monsters.add(mob3)
        if random.randrange(1,200) == 1:
            mob = Mob()

        if random.randrange(1, 50) == 1:
            #Cria plataforma
            tamanhos = [1, 3, 5]
            plat = Plataforma(WIDTH, HEIGHT-325, tamanhos[random.randrange(0, 3)])
            all_sprites.add(plat)
            plataformas.add(plat)
            
        
        
        for event in pygame.event.get():
            
            if event.type == pygame.QUIT:
                running = False
            
            if event.type == pygame.KEYDOWN:
                
                if event.key == pygame.K_LEFT:
                    vx = 8
                    player.imgs = []
                    n=5
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Flip{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.step = 5
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    
                if event.key == pygame.K_RIGHT:
                    vx = -8
                    player.imgs = []
                    n=8
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Nr{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.step = 3
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    
                if event.key == pygame.K_UP:#pulo
                    player.speedy = -15
                    
                    if player.rect.y < HEIGHT/2 - 45.5:#gravidade
                        player.speedy +=g 
                        all_sprites.update()
                        time.sleep(1e-2)
                        screen.fill(BLACK)
                        screen.blit(background, (x, 0))
                        all_sprites.draw(screen)
                        pygame.display.flip()
                        
                if event.key == pygame.K_DOWN:
                    player.speedy = 10
                    
                if event.key == pygame.K_SPACE:
                    player.imgs = []
                    n=10
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "P{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.step = 5
                    player.image = pygame.transform.scale(player.image, (1,1))
                    bullet = Nrpower(player.rect.centerx, player.rect.top)
                    all_sprites.add(bullet)
                    bullets.add(bullet)
                    pew_sound.play()
                if event.key == pygame.K_m:
                    player.imgs = []
                    n=5
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "NrP{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.step = 5
                    player.image = pygame.transform.scale(player.image, (1,1))
                    powe = Nrm(player.rect.centerx, player.rect.top)
                    all_sprites.add(powe)
                    bullets.add(powe)
                    pew_sound.play()

                                
            #################################        
            # Verifica se soltou alguma tecla.
            if event.type == pygame.KEYUP:
                # Dependendo da tecla, altera a velocidade.
                if event.key == pygame.K_LEFT:
                    vx = 0
                    player.imgs = []
                    n=8
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Nr{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                if event.key == pygame.K_RIGHT:
                    vx = 0
                    player.imgs = []
                    n=8
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Nr{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                if event.key == pygame.K_UP:
                    if event.key == pygame.K_RIGHT:
                        vx = 0
                        player.imgs = []
                        n=8
                        for i in range(n):
                            player.imgs.append(pygame.image.load(path.join(img_dir, "Nr{0}.png".format(i+1))).convert())
                        player.frame = 0
                        player.image = player.imgs[player.frame]
                        player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                if event.key == pygame.K_DOWN:
                    player.speedy = 0
                if event.key == pygame.K_SPACE:
                    player.imgs = []
                    n=8
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Nr{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                    player.step=5
                if event.key == pygame.K_m:
                    player.imgs = []
                    player.steps = 5
                    n=8
                    for i in range(n):
                        player.imgs.append(pygame.image.load(path.join(img_dir, "Nr{0}.png".format(i+1))).convert())
                    player.frame = 0
                    player.steps = 5
                    player.image = player.imgs[player.frame]
                    player.image = pygame.transform.scale(player.image, (1,1))
                    player.speedx = 0
                    
            if player.rect.y < HEIGHT/2 - 45.5:#gravidade
                player.speedy +=g 
                time.sleep(1e-2)
                
                    
        # Verifica se houve colisão entre tiro e inimigo
        hits = pygame.sprite.groupcollide(monsters, bullets, True, True)
        for hit in hits: # Pode haver mais de um
            # O meteoro e destruido e precisa ser recriado
            destroy_sound.play()
            contador += 1
            score += 100
            #m = Mob() 
            #all_sprites.add(m)
            #monsters.add(m)
            
            
        # No lugar do meteoro antigo, adicionar uma explosão.
        
        
        
        # Verifica se houve colisão entre personagem e inimigo
        hits = pygame.sprite.spritecollide(player, monsters, False, pygame.sprite.collide_circle)
        if hits:
            # Toca o som da colisão
            #morte = Morte(hit.rect.center)
            #all_sprites.add(morte)
            
            boom_sound.play()
            #all_sprites.add(morte)
            #state = MORRENDO
            #morte_tick = pygame.time.get_ticks()
            #morte_duration = morte.frame_ticks * len(morte.morte_anim) + 400
            #if vidas<=0:
            player.kill()
            state = DONE
            #else:
                #vidas-=1
                #state = MORRENDO
                #now = pygame.time.get_ticks()
                #if now - morte_tick > morte_duration:
                    #state = PLAYING
                
                
            
        #elif state == MORRENDO:
           # now = pygame.time.get_ticks()
            #if now - morte_tick > morte_duration:
             #   state = DONE
                
            time.sleep(5) # Precisa esperar senão fecha
            
                    
        
        # Depois de processar os eventos.
        # Atualiza a acao de cada sprite.
        all_sprites.update()
        
        hits = pygame.sprite.spritecollide(player, plataformas, False)
        if hits:
            player.rect.y = hits[0].rect.top
            player.speedy = 0
    
        # A cada loop, redesenha o fundo e os sprites
        screen.fill(BLACK)
        rel_x = x % background.get_rect().width
        x+= vx
        screen.blit(background, (rel_x -background.get_rect().width , 0))
        
        if  rel_x  < WIDTH:
            screen.blit(background, (rel_x, 0))
            
        for p in plataformas:
            p.move(vx)    
            
        all_sprites.draw(screen)
        
        #Desenha pontuação
        draw_text(screen, str(score), 18, WIDTH/2, 50)
        #Desenha vidas
        #draw_text(screen, str(vidas), 18, WIDTH/2, 80)
        
        
        
        # Depois de desenhar tudo, inverte o display.
        pygame.display.flip()
    
    return OVER
        
    def eventos(self, e):

        if e.type == pygame.MOUSEBUTTONUP and e.button == 1:
            self.arrastando_entidade = False

        if e.type == pygame.MOUSEBUTTONDOWN and e.button == 2:

            self.camera_mov_x += self.pos[0]
            self.camera_mov_y += self.pos[1]

        if e.type == pygame.MOUSEBUTTONUP and e.button == 2:

            self.camera_mov_x -= self.pos[0]
            self.camera_mov_y -= self.pos[1]

        if e.type == pygame.MOUSEBUTTONUP and e.button == 3:
            entidade = self.pegar_entidade_cursor()
            if entidade:

                nomes = entidade.get_nomes()
                param = multenterbox(msg=entidade.__class__.__name__,
                                     title='Editor de atributos',
                                     fields=(nomes))

                if param:
                    entidade.setar_atributos(param)
            else:
                nomes = ["ID", "Cor", "Imagem Fundo"]
                param = multenterbox(msg="Fase",
                                     title='Editor de atributos',
                                     fields=(nomes))
                if param:
                    self.fase.setar_atributos(param)

        if e.type == pygame.KEYDOWN:

            if e.key == pygame.K_DELETE:
                entidade = self.pegar_entidade_cursor()
                if entidade:
                    self.entidades.remove(entidade)
                    self.fase.remover(entidade)

            mods = pygame.key.get_mods()
            if mods & pygame.KMOD_CTRL:  # get_mods para poder pegar o evento de duas teclas pressionadas (e.g CTRL + NUMPAD1/2/3/4)

                if mods & pygame.KMOD_SHIFT and e.key == pygame.K_s:
                    if self.arquivo_atual:
                        self.ff.salvar_arquivo("Fases/" + self.arquivo_atual,
                                               self.fase)
                        print("Salvo!")
                    else:
                        msgbox("Nenhum arquivo foi aberto!", "Erro")
                elif e.key == pygame.K_s:
                    if self.fase.get_id() == -1:
                        _id = enterbox("Digite o id da fase!")
                        if _id:
                            self.fase.set_id(_id)
                        else:
                            return

                    arquivo = enterbox("Digite o nome do arquivo a ser salvo!")
                    if arquivo:
                        self.arquivo_atual = arquivo
                        self.ff.salvar_arquivo("Fases/" + self.arquivo_atual,
                                               self.fase)

                if e.key == pygame.K_1:
                    jogador = Jogador(400, 420, 30, 30, 0.0, 0.0, 2.3,
                                      (0, 25, 125), "no_img")
                    self.entidades.append(jogador)
                    self.fase.set_jogador(jogador)

                elif e.key == pygame.K_2:
                    plataforma = Plataforma(0, 570, 800, 30, 0.0, 0.0, 0.0,
                                            (10, 10, 15), "no_img")
                    self.entidades.append(plataforma)
                    self.fase.adicionar_plataforma(plataforma)

                elif e.key == pygame.K_3:
                    plataforma = PlataformaAndante(400, 300, 100, 30, 0, 0,
                                                   0.5, (100, 200), (0, 0),
                                                   0.0, (200, 0, 150),
                                                   "no_img")
                    self.entidades.append(plataforma)
                    self.fase.adicionar_plataforma(plataforma)

                elif e.key == pygame.K_4:
                    energia = Energia(400, 240, 20, 30, 0, 0, 0.0, True,
                                      (255, 255, 125), "no_img")
                    self.entidades.append(energia)
                    self.fase.adicionar_energia(energia)

                elif e.key == pygame.K_5:
                    moeda = Moeda(300, 510, 10, 10, 0, 0, 0.0, (255, 100, 10),
                                  "no_img")
                    self.entidades.append(moeda)
                    self.fase.adicionar_moeda(moeda)

                elif e.key == pygame.K_6:
                    inimigo = Inimigo(170, 540, 30, 30, 0, 0, 2.0, True, 25.0,
                                      False, (0, 25, 125), "canon.png",
                                      "gold_bullet.png")
                    self.entidades.append(inimigo)
                    self.fase.adicionar_inimigo(inimigo)

                elif e.key == pygame.K_l:
                    arquivo = enterbox(
                        "Digite o nome do arquivo a ser carregado!")
                    if arquivo:
                        self.arquivo_atual = arquivo
                        ret = self.gf.iniciar(self.arquivo_atual)
                        if ret:
                            ret = ret[:]
                            self.entidades = ret[0]
                            self.fase = ret[1]
                        else:
                            msgbox("Arquivo não existente ou corrompido!",
                                   "Erro")

                elif e.key == pygame.K_c:
                    entidade = self.pegar_entidade_cursor()
                    if entidade:
                        self.entidade_copia = self.copiar_entidade(entidade)

                elif e.key == pygame.K_v:
                    if self.entidade_copia:
                        self.entidade_copia.x = self.pos[
                            0] - self.camera.x - self.entidade_copia.w / 2
                        self.entidade_copia.y = self.pos[
                            1] - self.camera.y - self.entidade_copia.h / 2
                        clone = self.copiar_entidade(self.entidade_copia)
                        self.entidades.append(clone)
                        self.fase.adicionar(clone)

                elif mods & pygame.KMOD_SHIFT and e.key == pygame.K_f:
                    if self.arquivo_atual:
                        copy2("Fases/" + self.arquivo_atual,
                              "../Projeto/Fases")
                        print("Arquivo enviado!")
                    else:
                        msgbox("Nenhum arquivo para ser enviado!", "Erro")

                elif e.key == pygame.K_f:
                    nome = enterbox("Digite o nome do arquivo a enviado!")
                    if nome:
                        copy2("Fases/" + nome, "../Projeto/Fases")

                elif mods & pygame.KMOD_SHIFT and e.key == pygame.K_b:
                    if self.arquivo_atual:
                        self.ff.salvar_arquivo("Fases/" + self.arquivo_atual,
                                               self.fase)
                        print("Salvo!")
                        copy2("Fases/" + self.arquivo_atual,
                              "../Projeto/Fases")
                        print("Arquivo enviado!")
                        Popen("python jogo.py",
                              cwd="../Projeto/Codigo/",
                              shell=True)
                    else:
                        msgbox("Nenhum arquivo aberto ou salvo!", "Erro")

                elif e.key == pygame.K_b:
                    Popen("python jogo.py",
                          cwd="../Projeto/Codigo/",
                          shell=True)

                elif e.key == pygame.K_n:
                    self.entidades = []
                    self.fase = Fase(-1, None, self.dummy_fundo, [], [], [],
                                     [], "no_img")
                    self.arquivo_atual = ""
Ejemplo n.º 4
0
    def criar_fase(self, linha):
        plataformas = []
        moedas = []
        energias = []
        inimigos = []
        cor = (65, 65, 65)
        fundo = pygame.Surface((800, 600))
        fundo.fill(cor)
        jogador = None
        _id = 0
        for i in linha:

            i = i.split(":")

            if i[0] == "plataforma":
                i = i[1].split("|")
                print(i)
                plataformas.append(
                    Plataforma(float(i[0]), float(i[1]), float(i[2]),
                               float(i[3]), float(i[4]), float(i[5]),
                               float(i[6]), parse_tuple(i[7]), i[8]))

            elif i[0] == "plataforma_andante":
                i = i[1].split("|")
                print(i)
                plataformas.append(
                    PlataformaAndante(float(i[0]), float(i[1]), float(i[2]),
                                      float(i[3]), float(i[4]), float(i[5]),
                                      float(i[6]), parse_tuple(i[7]),
                                      parse_tuple(i[8]), float(i[9]),
                                      parse_tuple(i[10]), i[11]))

            elif i[0] == "energia":
                i = i[1].split("|")
                print(i)
                energias.append(
                    Energia(float(i[0]), float(i[1]), float(i[2]), float(i[3]),
                            float(i[4]), float(i[5]), float(i[6]),
                            parse_bool(i[7]), parse_tuple(i[8]), i[9]))

            elif i[0] == "inimigo":
                i = i[1].split("|")
                print(i)
                inimigos.append(
                    Inimigo(float(i[0]), float(i[1]), float(i[2]), float(i[3]),
                            float(i[4]), float(i[5]), float(i[6]),
                            parse_bool(i[7]), float(i[8]), parse_bool(i[9]),
                            parse_tuple(i[10]), i[11], i[12]))

            elif i[0] == "jogador":
                i = i[1].split("|")

                jogador = Jogador(float(i[0]), float(i[1]), float(i[2]),
                                  float(i[3]), float(i[4]), float(i[5]),
                                  float(i[6]), parse_tuple(i[7]), i[8])

            elif i[0] == "moeda":
                i = i[1].split("|")

                moedas.append(
                    Moeda(float(i[0]), float(i[1]), float(i[2]), float(i[3]),
                          float(i[4]), float(i[5]), float(i[6]),
                          parse_tuple(i[7]), i[8]))

            elif i[0] == "cor":
                cor = parse_tuple(i[1])
                fundo.fill(cor)

            elif i[0] == "fundo":
                caminho_fundo = i[1]

            elif i[0] == "fase_indice":
                _id = int(i[1])

        if caminho_fundo != "no_img":
            fundo = pygame.image.load("../Imagens/" +
                                      caminho_fundo).convert_alpha()

        return Fase(_id, jogador, fundo, plataformas, moedas, energias,
                    inimigos, cor)
Ejemplo n.º 5
0
 def cargar_plataformas(self):
     """Carga todas las plataformas del nivel"""
     for bound in self.bounds_plataformas:
         self.plataformas.append(Plataforma(bound))
Ejemplo n.º 6
0
lista_sprites_enemigos.add(enemigo_secundario)
"""esto es un comentario"""
#paredes
pared = Pared(250, 0, 10, 450)
lista_sprites_activos.add(pared)
lista_sprites_enemigos.add(pared)

# Creamos al jugador con la imagen p1_walk.png
jugador_principal = Player("imagenes/p1_walk.png", lista_sprites_enemigos)
jugador_principal.rect.x = 0
jugador_principal.rect.y = constantes.ALTURA_PANTALLA - jugador_principal.rect.height
lista_sprites_activos.add(jugador_principal)

#plataformas
GRASS_MIDDLE = (648, 648, 70, 40)
plataforma = Plataforma("imagenes/tiles_spritesheet.png", GRASS_MIDDLE)
plataforma.rect.x = 100
plataforma.rect.y = 100
lista_sprites_activos.add(plataforma)
lista_sprites_enemigos.add(plataforma)

#plataforma con movimitnto
GRASS_MIDDLE = (648, 648, 70, 40)
plataformaMov = PlataformaConMovimiento("imagenes/tiles_spritesheet.png",
                                        GRASS_MIDDLE, jugador_principal)
plataformaMov.rect.x = 600
plataformaMov.rect.y = 400
lista_sprites_activos.add(plataformaMov)
lista_sprites_enemigos.add(plataformaMov)
plataformaMov.limite_izquierdo = 500
plataformaMov.limite_derecho = 660
Ejemplo n.º 7
0
 def __init__(self, ruta, sprite_sheet_data, jugador):
     Plataforma.__init__(self, ruta, sprite_sheet_data)
     self.jugador = jugador
Ejemplo n.º 8
0
newbackgroud2 = PlanoFundo(objectGroup)
newbackgroud2.rect.center = [430, 290]
newbackgroud2.image = newbackgroud2.images[2]
backgroud2.speed = 2
newbackgroud2.speed = 2

backgroud3 = PlanoFundo(objectGroup)
newbackgroud3 = PlanoFundo(objectGroup)
newbackgroud3.rect.center = [430, 290]
backgroud3.image = backgroud3.images[3]
newbackgroud3.image = newbackgroud2.images[3]
backgroud3.speed = 3
newbackgroud3.speed = 3

# Plataforma
plataforma = Plataforma(objectGroup)
newplataforma = Plataforma(objectGroup)
newplataforma.rect.center = [430, 520]

# buzina
buz = Buzina(objectGroup)
buz.rect.bottom = plataforma.rect.top

# Personagens
leo = Leo(DelayGroup)
leo.rect.bottom = plataforma.rect.top

renan = Renan(DelayGroup)
renan.rect.bottom = plataforma.rect.top

carol = Carol(DelayGroup, carolGroup)