Exemple #1
0
 def __init__(self, ruta):
     """ Plataforma constructor."""
     pygame.sprite.Sprite.__init__(self)        
     sprite_sheet = SpriteSheet(ruta)       
     
     self.image = sprite_sheet.obtener_imagen_enemigo(0, 0, 70, 80)        
     self.rect = self.image.get_rect()
    def __init__(self, ruta):
        """ Plataforma constructor."""
        pygame.sprite.Sprite.__init__(self)
        sprite_sheet = SpriteSheet(ruta)

        # recorte de la imagen de acuerdo a sus dimensiones
        self.image = sprite_sheet.obtener_imagen_enemigo(0, 0, 70, 80)

        # si hay que escalar imagen o transparentar un color se debe hacer aca

        self.rect = self.image.get_rect()
    def __init__(self, sprite_sheet_data):
        
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("imagenes/Objetoslevel2.png")
        # Grab the image for this platform
        self.image = sprite_sheet.obtener_imagen(sprite_sheet_data[0],
                                            sprite_sheet_data[1],
                                            sprite_sheet_data[2],
                                            sprite_sheet_data[3])
        self.image = pygame.transform.scale(self.image, (60, 50))
        self.rect = self.image.get_rect()
    def __init__(self, sprite_sheet_data):
        """ Plataforma constructor."""
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("imagenes/platformalevel2.png")
        # Grab the image for this platform
        self.image = sprite_sheet.obtener_imagen(sprite_sheet_data[0],
                                                 sprite_sheet_data[1],
                                                 sprite_sheet_data[2],
                                                 sprite_sheet_data[3])

        self.rect = self.image.get_rect()
    def __init__(self, sprite_sheet_data):
        """ Plataforma constructor."""
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet("imagenes/tiles_spritesheet.png")
        # Grab the image for this platform
        self.image = sprite_sheet.obtener_imagen(sprite_sheet_data[0],
                                            sprite_sheet_data[1],
                                            sprite_sheet_data[2],
                                            sprite_sheet_data[3])

        self.rect = self.image.get_rect()
Exemple #6
0
 def __init__(self,pos_x,pos_y):
     pygame.sprite.Sprite.__init__(self)
     sprite_sheet = SpriteSheet("imagenes/puntos/puntos_spritesheet.png")
     self.image = sprite_sheet.get_image(0, 0, 39, 50)
     self.image = sprite_sheet.get_image(39, 0, 39, 50)
     self.image = sprite_sheet.get_image(78, 0, 39, 50)
     self.image = sprite_sheet.get_image(117, 0, 39, 50)
     self.image = sprite_sheet.get_image(156, 0, 39, 50)
     self.image = sprite_sheet.get_image(195, 0, 39, 50)
     self.image = sprite_sheet.get_image(234, 0, 39, 50)
     
     self.rect = self.image.get_rect()
     self.rect.x = pos_x
     self.rect.y = pos_y 
     
Exemple #7
0
    def __init__(self,ruta):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """

        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet(ruta)
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen = sprite_sheet.obtener_imagen(0, 0, 250, 580,constantes.BLANCO)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(280, 0, 280, 580,constantes.BLANCO)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(560, 0, 280, 580,constantes.BLANCO)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(873, 0, 280, 580,constantes.BLANCO)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(1185, 0, 276, 580,constantes.BLANCO)
        self.jugador_frame_der.append(imagen)      

        # Seteamos con que sprite comenzar
        self.image = self.jugador_frame_der[0]


        self.rect = self.image.get_rect()
Exemple #8
0
    def __init__(self, pos_x, pos_y):
        pygame.sprite.Sprite.__init__(self)
        sprite_sheet = SpriteSheet("imagenes/puntos/puntos_spritesheet.png")
        self.image = sprite_sheet.get_image(0, 0, 39, 50)
        self.image = sprite_sheet.get_image(39, 0, 39, 50)
        self.image = sprite_sheet.get_image(78, 0, 39, 50)
        self.image = sprite_sheet.get_image(117, 0, 39, 50)
        self.image = sprite_sheet.get_image(156, 0, 39, 50)
        self.image = sprite_sheet.get_image(195, 0, 39, 50)
        self.image = sprite_sheet.get_image(234, 0, 39, 50)

        self.rect = self.image.get_rect()
        self.rect.x = pos_x
        self.rect.y = pos_y
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")

        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(0, 1788, 896, 894)
        self.fondo = imagen_1

        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16

        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_nivel = -2500

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo
        nivel = [
            [platforma.STONE, 250, 740],
            [platforma.STONE, 250, 680],
            [platforma.STONE, 250, 620],
            [platforma.STONE, 250, 560],
            [platforma.STONE, 250, 500],
            [platforma.STONE, 250, 440],
            [platforma.STONE, 250, 380],
            [platforma.STONE, 250, 320],
            [platforma.STONE, 310, 320],
            [platforma.STONE, 370, 320],
            [platforma.STONE, 430, 320],
            [platforma.STONE, 490, 320],
            [platforma.STONE, 550, 320],
            [platforma.STONE, 610, 320],
            [platforma.STONE, 610, 380],
            [platforma.STONE, 610, 440],
            [platforma.STONE, 610, 500],
            [platforma.STONE, 610, 560],
            [platforma.STONE, 610, 620],
        ]

        #puntos
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 150
        puntos.rect.y = 700
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 320
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 366
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 412
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 458
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 504
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 560
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 320
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 366
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 412
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 458
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 504
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 560
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 320
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 366
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 412
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 458
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 504
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 560
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 320
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 366
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 412
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 458
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 504
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 560
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(0,894, 896,894)
        self.fondo = imagen_1
       
      
        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo 
        nivel = [[platforma.STONE, 420, 360],
                 [platforma.STONE, 480, 360],
                 [platforma.STONE, 480, 420],
                 [platforma.STONE, 360, 360],
                 [platforma.STONE, 480, 480],
                 [platforma.STONE, 120, 360],
                 [platforma.STONE, 180, 360],
                 [platforma.STONE, 240, 360],
                 [platforma.STONE, 240, 300],
                 [platforma.STONE, 240, 240],
                 [platforma.STONE, 120, 720],
                 [platforma.STONE, 180, 720],
                 [platforma.STONE, 240, 720],
                 [platforma.STONE, 240, 660],
                 [platforma.STONE, 240, 600],]

        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)
            
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 420
        puntos.rect.y = 420
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)     
 
 
            
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 170
        puntos.rect.y = 270
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)      
        
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 170
        puntos.rect.y = 630
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
    
        ene = enemigos.MovingPlatform()
        ene.rect.x = 600
        ene.rect.y = 300
        ene.limite_superior = 100
        ene.limite_inferior = 700
        ene.mover_y = 3
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)    
 
        

                #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 450
        puerta.rect.y = 790
        
        self.puerta.add(puerta)
Exemple #11
0
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")

        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(896, 896, 896, 894)
        self.fondo = imagen_1

        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 690
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo
        nivel = [
            [platforma.STONE, 735, 325],
            [platforma.STONE, 675, 325],
            [platforma.STONE, 615, 325],
            [platforma.STONE, 555, 325],
            [platforma.STONE, 495, 325],
            [platforma.STONE, 495, 385],
            [platforma.STONE, 495, 445],
            [platforma.STONE, 495, 505],
            [platforma.STONE, 495, 565],
            [platforma.STONE, 495, 625],
            [platforma.STONE, 90, 325],
            [platforma.STONE, 150, 325],
            [platforma.STONE, 210, 325],
            [platforma.STONE, 270, 325],
            [platforma.STONE, 330, 325],
            [platforma.STONE, 330, 385],
            [platforma.STONE, 330, 445],
            [platforma.STONE, 330, 505],
            [platforma.STONE, 330, 565],
            [platforma.STONE, 330, 625],
        ]

        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)

        #Puntos

        #Izquierda
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 400
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 280
        puntos.rect.y = 400
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 195
        puntos.rect.y = 400
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 500
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 280
        puntos.rect.y = 500
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 600
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 280
        puntos.rect.y = 600
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        #Derecha
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 720
        puntos.rect.y = 420
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 580
        puntos.rect.y = 420
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 580
        puntos.rect.y = 520
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 580
        puntos.rect.y = 620
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        #Pasillo
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 740
        puntos.rect.y = 740
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 110
        puntos.rect.y = 740
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        #Arriba
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 110
        puntos.rect.y = 120
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 110
        puntos.rect.y = 250
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 740
        puntos.rect.y = 120
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 740
        puntos.rect.y = 250
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        # Se agrega una plataforma en movimiento.

        #enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 200
        ene.rect.y = 230
        ene.limite_izquierdo = -200
        ene.limite_derecho = 150
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)

        #enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 200
        ene.rect.y = 700
        ene.limite_izquierdo = -200
        ene.limite_derecho = 150
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)

        ene = enemigos.MovingPlatform()
        ene.rect.x = 200
        ene.rect.y = 700
        ene.limite_izquierdo = -200
        ene.limite_derecho = 150
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)

        #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 450
        puerta.rect.y = 50
        self.puerta.add(puerta)
    def __init__(self, jugador):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """
        jugador_frame_izq = []
        jugador_frame_der = []
        jugador_frame_up = []
        jugador_frame_down = []
    
        pygame.sprite.Sprite.__init__(self)
        
        if jugador == 1:
            jugador_frame_izq = []
            jugador_frame_der = []
            jugador_frame_up = []
            jugador_frame_down = []
            
            sprite_sheet = SpriteSheet("imagenes/sun.png")
            imagen = sprite_sheet.obtener_imagen(271, 0, 77, 115)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(274, 138, 78, 114)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(274, 274, 85, 114)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(284, 399, 78, 113)
            self.jugador_frame_der.append(imagen)

            # # Carga de todos los sprite de la imagen hacia la izquierda.
            imagen = sprite_sheet.obtener_imagen(0, 0, 77, 115)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 140, 70, 115)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 273, 77, 115)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 398, 77, 114)
            self.jugador_frame_izq.append(imagen)

            # Carga de todos los sprite de la imagen hacia la ARRIBA
            imagen = sprite_sheet.obtener_imagen(181, 0, 78, 115)
            self.jugador_frame_up.append(imagen)
            imagen = sprite_sheet.obtener_imagen(181, 136, 78, 115)
            self.jugador_frame_up.append(imagen)
            imagen = sprite_sheet.obtener_imagen(183, 268, 76, 115)
            self.jugador_frame_up.append(imagen)
        
            # Carga de todos los sprite de la imagen hacia la ABAJO
            imagen = sprite_sheet.obtener_imagen(81, 0, 81, 115)
            self.jugador_frame_down.append(imagen)
            imagen = sprite_sheet.obtener_imagen(81, 132, 76, 115)
            self.jugador_frame_down.append(imagen)
            imagen = sprite_sheet.obtener_imagen(83, 264, 76, 115)
            self.jugador_frame_down.append(imagen)
            

            
        elif jugador == 2:
            jugador_frame_izq = []
            jugador_frame_der = []
            jugador_frame_up = []
            jugador_frame_down = []
            sprite_sheet = SpriteSheet("imagenes/astro.png")
            imagen = sprite_sheet.obtener_imagen(0, 0, 74, 125)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 145, 75, 130)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 282, 74, 130)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 419, 73, 130)
            self.jugador_frame_der.append(imagen)

            # # Carga de todos los sprite de la imagen hacia la izquierda.
            imagen = sprite_sheet.obtener_imagen(329, 18, 72, 126)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(332, 146, 70, 126)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(331, 291, 70, 127)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(325, 424, 70, 128)
            self.jugador_frame_izq.append(imagen)

            # Carga de todos los sprite de la imagen hacia la ARRIBA
            imagen = sprite_sheet.obtener_imagen(213, 17, 77, 122)
            self.jugador_frame_up.append(imagen)
            imagen = sprite_sheet.obtener_imagen(209, 157, 76, 121)
            self.jugador_frame_up.append(imagen)
            imagen = sprite_sheet.obtener_imagen(210, 289, 76, 122)
            self.jugador_frame_up.append(imagen)
        
            # Carga de todos los sprite de la imagen hacia la ABAJO
            imagen = sprite_sheet.obtener_imagen(106, 11, 75, 122)
            self.jugador_frame_down.append(imagen)
            imagen = sprite_sheet.obtener_imagen(94, 154, 77, 122)
            self.jugador_frame_down.append(imagen)
            imagen = sprite_sheet.obtener_imagen(94, 284, 77, 123)
            self.jugador_frame_down.append(imagen)



        # Seteamos con que sprite comenzar
        """self.jugador_frame_izq.append(imagen)
        self.jugador_frame_up.append(imagen)
        self.jugador_frame_down.append(imagen)
        self.jugador_frame_izq1.append(imagen)
        self.jugador_frame_up1.append(imagen)
       self.jugador_frame_down1.append(imagen)"""
        
        self.imagen = self.jugador_frame_down[0]
        self.rect = self.imagen.get_rect()
Exemple #13
0
    def __init__(self, jugador=1):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """
        self.jugador_frame_der = []
        self.jugador_frame_izq = []

        pygame.sprite.Sprite.__init__(self)

        if jugador == 1:
            sprite_sheet = SpriteSheet("imagenes/movimientos hamburger.png")

            # Carga de todos los sprite de la imagen hacia la derecha.
            imagen = sprite_sheet.obtener_imagen(0, 0, 104, 118,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(108, 0, 101, 118,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(213, 0, 104, 118,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(320, 0, 101, 118,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(425, 0, 101, 118,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(528, 0, 104, 118,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(633, 0, 104, 118,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(738, 0, 104, 118,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)

            # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.
            imagen = sprite_sheet.obtener_imagen(0, 0, 104, 118,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(108, 0, 101, 118,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(213, 0, 104, 118,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(320, 0, 101, 118,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(425, 0, 101, 118,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(531, 0, 104, 118,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(633, 0, 104, 118,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(738, 0, 104, 118,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)

        if jugador == 2:
            sprite_sheet = SpriteSheet("imagenes/PAPAS.png")

            # Carga de todos los sprite de la imagen hacia la derecha.
            imagen = sprite_sheet.obtener_imagen(0, 0, 100, 124,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(100, 0, 105, 124,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(205, 0, 105, 124,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(310, 0, 105, 124,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(415, 0, 105, 124,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(520, 0, 105, 124,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(635, 0, 95, 124,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(740, 0, 95, 124,
                                                 constantes.BLANCO)
            self.jugador_frame_der.append(imagen)

            # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.
            imagen = sprite_sheet.obtener_imagen(0, 0, 100, 124,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(100, 0, 105, 124,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(205, 0, 105, 124,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(310, 0, 105, 124,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(415, 0, 105, 124,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(520, 0, 105, 124,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(635, 0, 95, 124,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(740, 0, 95, 124,
                                                 constantes.BLANCO)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)

        # Seteamos con que sprite comenzar
        self.image = self.jugador_frame_der[0]

        self.rect = self.image.get_rect()
Exemple #14
0
def main():
    """ Clase principal en el que se debe ejecutar el juego. """
    pygame.init()

    # Configuramos el alto y largo de la pantalla
    tamanio = [constantes.ANCHO_PANTALLA, constantes.LARGO_PANTALLA]
    pantalla = pygame.display.set_mode(tamanio)

    pygame.display.set_caption("Shadow's Boy")

    sprite_sheetN = SpriteSheet("imagenes/personajes2.png")
    jugador = sprite_sheetN.obtener_imagen(0, 0, 170, 350)
    sprite_sheetN = SpriteSheet("imagenes/personajes2.png")
    jugador2 = sprite_sheetN.obtener_imagen(170, 0, 170, 350)
    historia = pygame.image.load("imagenes/Historia.png").convert()
    creditos = pygame.image.load("imagenes/Creditos.png").convert()

    logo = pygame.image.load("imagenes/SBwallpaper.png").convert()
    logo.set_colorkey(constantes.BLANCO)
    alogo = True
    if alogo == True:
        pantalla.blit(logo, (0, 0))
        pygame.display.flip()
        alogo = False

    # menu
    menuJuego = cMenu(350, 350, 20, 5, "vertical", 100, pantalla,
                      [("Play", 1, None), ("Historia", 2, None),
                       ("Credits", 3, None), ("Exit", 4, None)])
    menuJugador = cMenu(250, 200, 20, 5, "horizontal", 4, pantalla,
                        [("sombra1", 5, jugador), ("sombra2", 5, jugador2),
                         ("Volver", 0, None)])
    historia = cMenu(0, 0, 400, 400, 'vertical', 5, pantalla,
                     [("Historia", 7, historia)])
    creditos = cMenu(0, 0, 630, 348, 'vertical', 6, pantalla,
                     [("Creditos", 8, creditos)])

    estado = 0
    estado_previo = 1

    opcion = []
    jugador = 1
    salir = False

    while not salir:
        if estado_previo != estado:
            pygame.event.post(
                pygame.event.Event(menu.EVENT_CHANGE_STATE, key=0))
            estado_previo = estado
        e = pygame.event.wait()

        if e.type == pygame.KEYDOWN or e.type == menu.EVENT_CHANGE_STATE:
            if estado == 0:
                opcion, estado = menuJuego.update(e, estado)
            elif estado == 1:
                pantalla.blit(logo, (0, 0))
                opcion, estado = menuJugador.update(e, estado)
                pygame.display.flip()

            elif estado == 2:
                pantalla.fill(constantes.BLANCO)
                opcion, estado = historia.update(e, estado)
                pygame.display.flip()

            elif estado == 3:
                pantalla.fill(constantes.BLANCO)
                opcion, estado = creditos.update(e, estado)
                pygame.display.flip()

            elif estado == 5:
                jugar(pantalla, 1)

            elif estado == 6:
                jugar(pantalla, 2)

            elif estado == 7:
                jugador = 3
                jugar(pantalla, jugador)

            elif estado == 8:
                pantalla.fill(constantes.BLANCO)
                estado = 0
                pantalla.blit(logo, (0, 0))
                pygame.display.flip()

            else:
                salir = True

        if e.type == pygame.QUIT:
            salir = True

        pygame.display.update(opcion)

    pygame.quit()
Exemple #15
0
    def __init__(self, ruta, lista_sprites_enemigos):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """

        self.lista_sprites_enemigos = lista_sprites_enemigos
        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet(ruta)

        # Carga de todos los sprite de la imagen hacia la derecha
        #1
        imagen = sprite_sheet.obtener_imagen(0, 0, 66, 90)
        self.jugador_frame_der.append(imagen)

        #2
        imagen = sprite_sheet.obtener_imagen(66, 0, 66, 90)
        self.jugador_frame_der.append(imagen)

        #3
        imagen = sprite_sheet.obtener_imagen(132, 0, 67, 90)
        self.jugador_frame_der.append(imagen)

        #7
        imagen = sprite_sheet.obtener_imagen(0, 93, 66, 90)
        self.jugador_frame_der.append(imagen)

        #8
        imagen = sprite_sheet.obtener_imagen(66, 93, 66, 90)
        self.jugador_frame_der.append(imagen)

        #9
        imagen = sprite_sheet.obtener_imagen(132, 93, 72, 90)
        self.jugador_frame_der.append(imagen)

        #10
        imagen = sprite_sheet.obtener_imagen(0, 186, 70, 90)
        self.jugador_frame_der.append(imagen)

        # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.
        imagen = sprite_sheet.obtener_imagen(0, 0, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(66, 0, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(132, 0, 67, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(0, 93, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(66, 93, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(132, 93, 72, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(0, 186, 70, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)

        # Seteamos con que sprite comenzar
        self.image = self.jugador_frame_der[0]

        self.rect = self.image.get_rect()
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(1788,1788, 896,894)
        self.fondo = imagen_1

        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16


        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo 
        nivel = [ [platforma.STONE, 300, 300],
                  [platforma.STONE, 300, 600],
                  [platforma.STONE, 600, 300],
                  [platforma.STONE, 600, 600]
                  
                 ]

       
        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)
            
            
            
            
            
            
        nivel_artefacto = [ [artefactos.POZO, 150, 150]
                 
                 ]

       

        for artefactos1 in nivel_artefacto:
            bloque_a = artefactos.Artefactos(artefactos1[0])
            bloque_a.rect.x = artefactos1[1]
            bloque_a.rect.y = artefactos1[2]
            bloque_a.jugador = self.jugador
            self.lista_artefactos.add(bloque_a)
        
            
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 200
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 400
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)        
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 600
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 160
        puntos.rect.y = 400
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 160 
        puntos.rect.y = 600
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        
        #enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 410
        ene.rect.y = 400
        ene.limite_izquierdo = -200
        ene.limite_derecho = 150
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)
        
                #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 450
        puerta.rect.y = 45
        self.puerta.add(puerta)
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(896,896, 896,894)
        self.fondo = imagen_1
        
        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 690
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo 
        nivel = [
                 [platforma.STONE,735 , 325],
                 [platforma.STONE,675 , 325],
                 [platforma.STONE,615 , 325],
                 [platforma.STONE,555 , 325],
                 [platforma.STONE,495 , 325],
                 [platforma.STONE,495 , 385],
                 [platforma.STONE,495 , 445],
                 [platforma.STONE,495 , 505],
                 [platforma.STONE,495 , 565],
                 [platforma.STONE,495 , 625],
                 
                 [platforma.STONE,90  , 325],
                 [platforma.STONE,150 , 325],
                 [platforma.STONE,210 , 325],
                 [platforma.STONE,270 , 325],
                 [platforma.STONE,330 , 325],
                 [platforma.STONE,330 , 385],
                 [platforma.STONE,330 , 445],
                 [platforma.STONE,330 , 505],
                 [platforma.STONE,330 , 565],
                 [platforma.STONE,330 , 625],

                 ]

        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)
            
            
        #Puntos
        
        #Izquierda
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 400
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 280
        puntos.rect.y = 400
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 195
        puntos.rect.y = 400
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 500
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 280
        puntos.rect.y = 500
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 600
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 280
        puntos.rect.y = 600
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        #Derecha
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 720
        puntos.rect.y = 420
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 580
        puntos.rect.y = 420
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 580
        puntos.rect.y = 520
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 580
        puntos.rect.y = 620
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        #Pasillo
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 740
        puntos.rect.y = 740
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 110
        puntos.rect.y = 740
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        #Arriba
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 110
        puntos.rect.y = 120
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 110
        puntos.rect.y = 250
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 740
        puntos.rect.y = 120
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 740
        puntos.rect.y = 250
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        
        
        
        
        
        
        
        
        
        # Se agrega una plataforma en movimiento.
        
                #enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 200
        ene.rect.y = 230
        ene.limite_izquierdo = -200
        ene.limite_derecho = 150
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)
        
        #enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 200
        ene.rect.y = 700
        ene.limite_izquierdo = -200
        ene.limite_derecho = 150
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)
        
        ene = enemigos.MovingPlatform()
        ene.rect.x = 200
        ene.rect.y = 700
        ene.limite_izquierdo = -200
        ene.limite_derecho = 150
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)
        
                        #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 450
        puerta.rect.y = 50
        self.puerta.add(puerta)
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")

        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(0, 894, 896, 894)
        self.fondo = imagen_1

        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo
        nivel = [
            [platforma.STONE, 420, 360],
            [platforma.STONE, 480, 360],
            [platforma.STONE, 480, 420],
            [platforma.STONE, 360, 360],
            [platforma.STONE, 480, 480],
            [platforma.STONE, 120, 360],
            [platforma.STONE, 180, 360],
            [platforma.STONE, 240, 360],
            [platforma.STONE, 240, 300],
            [platforma.STONE, 240, 240],
            [platforma.STONE, 120, 720],
            [platforma.STONE, 180, 720],
            [platforma.STONE, 240, 720],
            [platforma.STONE, 240, 660],
            [platforma.STONE, 240, 600],
        ]

        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 420
        puntos.rect.y = 420
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 170
        puntos.rect.y = 270
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 170
        puntos.rect.y = 630
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        ene = enemigos.MovingPlatform()
        ene.rect.x = 600
        ene.rect.y = 300
        ene.limite_superior = 100
        ene.limite_inferior = 700
        ene.mover_y = 3
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)

        #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 450
        puerta.rect.y = 790

        self.puerta.add(puerta)
Exemple #19
0
    def __init__(self,ruta):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """

        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet(ruta)
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen = sprite_sheet.obtener_imagen(275, 80, 55, 80)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(220, 80, 55, 80)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(175, 80, 55, 80)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(110, 80, 55, 80)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(55, 80, 55, 80)
        self.jugador_frame_der.append(imagen)
#       imagen = sprite_sheet.obtener_imagen(0, 80, 55, 80)
#       self.jugador_frame_der.append(imagen)
#       imagen = sprite_sheet.obtener_imagen(175, 0, 55, 80)
#       self.jugador_frame_der.append(imagen)
#       imagen = sprite_sheet.obtener_imagen(220, 0, 55, 80)
#       self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(175, 0, 55, 80)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(110, 0, 55, 80)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(55, 0, 55, 80)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(0, 0, 55, 80)
        self.jugador_frame_der.append(imagen)
        
        
        
        
        
        

        # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.
        imagen = sprite_sheet.obtener_imagen(275, 80, 55, 80)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(220, 80, 55, 80)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(175, 80, 55, 80)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(110, 80, 55, 80)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(175, 0, 55, 80)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(110, 0, 55, 80)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(55, 0, 55, 80)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(0, 0, 55, 80)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        
        # Seteamos con que sprite comenzar
        self.image = self.jugador_frame_der[0]


        self.rect = self.image.get_rect()
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_2 = sprite_sheet_pantalla.obtener_imagen(1788,894, 896,894)
        self.fondo = imagen_2
        
        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 92
        self.cambio_nivel_y = 388

        
        self.fondo.set_colorkey(constantes.BLANCO)

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo 
        nivel = [ [platforma.STONE, 200 ,500],
                  [platforma.STONE, 250, 450 ],
                  [platforma.STONE, 300, 400 ],
                  [platforma.STONE, 350, 350 ],
                  [platforma.STONE, 400, 300 ],
                  [platforma.STONE, 450, 300 ],
                  [platforma.STONE, 500, 350 ],
                  [platforma.STONE, 550, 400 ],
                  [platforma.STONE, 600, 450 ],
                  [platforma.STONE, 650, 500 ],
                  [platforma.STONE, 150, 550 ],
                  [platforma.STONE, 100, 600 ]]                  


        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)
            
            
            
        nivel_artefacto = [ [artefactos.ESCALERA, 656, 97]
                 
                 ]

       

        for artefactos1 in nivel_artefacto:
            bloque_a = artefactos.Artefactos(artefactos1[0])
            bloque_a.rect.x = artefactos1[1]
            bloque_a.rect.y = artefactos1[2]
            bloque_a.jugador = self.jugador
            self.lista_artefactos.add(bloque_a)            
            
            
            
        #Puntos
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
            

        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 200
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        

        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 300
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        

        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 400
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        


        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 500
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        

        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 600
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        """
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 650
        puntos.rect.y = 153
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 750
        puntos.rect.y = 153
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        """
        
        #Puntos de abajo
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 720 
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 430
        puntos.rect.y = 380
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 750
        puntos.rect.y = 720
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        #Enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 300
        ene.rect.y = 200
        ene.limite_izquierdo = -3
        ene.limite_derecho = 500
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)
        
        
        # Se agrega una plataforma en movimiento.
        bloque = platforma.PlataformaConMovimiento(platforma.STONE)
        bloque.rect.x = 1350
        bloque.rect.y = 280
        bloque.limite_izquierdo = 1350
        bloque.limite_derecho = 1600
        bloque.mover_x = 1
        bloque.jugador = self.jugador
        bloque.nivel = self
        self.lista_plataformas.add(bloque)
        
                #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 80
        puerta.rect.y = 436
        self.puerta.add(puerta)
Exemple #21
0
    def __init__(self, ruta):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """

        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet(ruta)

        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen = sprite_sheet.obtener_imagen(31, 50, 86, 149)

        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(140, 50, 87, 141)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(244, 50, 70, 141)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(348, 44, 48, 155)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(445, 45, 60, 155)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(549, 50, 77, 155)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(30, 230, 78, 139)
        self.jugador_frame_der.append(imagen)

        # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.
        imagen = sprite_sheet.obtener_imagen(0, 0, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(66, 0, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(132, 0, 67, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(0, 93, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(66, 93, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(132, 93, 72, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(0, 186, 70, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)

        # Seteamos con que sprite comenzar
        self.image = self.jugador_frame_der[0]

        self.rect = self.image.get_rect()
    def __init__(self,rol):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """
        self.jugador_frame_izq = []
        self.jugador_frame_der = []
        
        pygame.sprite.Sprite.__init__(self)
        if rol==1:
            sprite_sheet = SpriteSheet("imagenes/spritesdimensiones.png") 
            self.genero=1
            # Carga de todos los sprite de la imagen hacia la derecha.
            imagen = sprite_sheet.obtener_imagen(600,180 ,120 , 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(480, 180 , 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(360, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(240, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(120, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(600, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(480, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(360, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(240, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(120, 0, 120, 180)
            self.jugador_frame_der.append(imagen)      
            imagen = sprite_sheet.obtener_imagen(0, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.        
            imagen = sprite_sheet.obtener_imagen(600, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(480,180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(360,180 ,120 , 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(240, 180 , 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(120, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(600, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(480, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(360, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(240, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(120, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)     
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            
        else:

            sprite_sheet = SpriteSheet("imagenes/Spritesheet2.png") 
            self.genero=2
            # Carga de todos los sprite de la imagen hacia la derecha.
            imagen = sprite_sheet.obtener_imagen(601,180 ,119 , 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(481, 180 , 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(361, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(241, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(121, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(1, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(601, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(481, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(361, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(241, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(121, 0, 119, 179)
            self.jugador_frame_der.append(imagen)      
            imagen = sprite_sheet.obtener_imagen(1, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.        
            imagen = sprite_sheet.obtener_imagen(601, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(481,180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(361,180 ,119 , 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(241, 180 , 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(121, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(1, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(601, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(481, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(361, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(241, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(121, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)     
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(1, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
        # Seteamos con que sprite comenzar
        self.image = self.jugador_frame_der[0]

        self.rect = self.image.get_rect()
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")

        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(1788, 1788, 896, 894)
        self.fondo = imagen_1

        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo
        nivel = [[platforma.STONE, 300, 300], [platforma.STONE, 300, 600],
                 [platforma.STONE, 600, 300], [platforma.STONE, 600, 600]]

        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)

        nivel_artefacto = [[artefactos.POZO, 150, 150]]

        for artefactos1 in nivel_artefacto:
            bloque_a = artefactos.Artefactos(artefactos1[0])
            bloque_a.rect.x = artefactos1[1]
            bloque_a.rect.y = artefactos1[2]
            bloque_a.jugador = self.jugador
            self.lista_artefactos.add(bloque_a)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 200
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 400
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 600
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 160
        puntos.rect.y = 400
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 160
        puntos.rect.y = 600
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        #enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 410
        ene.rect.y = 400
        ene.limite_izquierdo = -200
        ene.limite_derecho = 150
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)

        #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 450
        puerta.rect.y = 45
        self.puerta.add(puerta)
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(0,1788, 896,894)
        self.fondo = imagen_1
       
        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16
        
        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_nivel = -2500

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo 
        nivel = [ [platforma.STONE, 250, 740],
                  [platforma.STONE, 250, 680],
                  [platforma.STONE, 250, 620],
                  [platforma.STONE, 250, 560],
                  [platforma.STONE, 250, 500],
                  [platforma.STONE, 250, 440],
                  [platforma.STONE, 250, 380],
                  [platforma.STONE, 250, 320],
                  [platforma.STONE, 310, 320],
                  [platforma.STONE, 370, 320],
                  [platforma.STONE, 430, 320],
                  [platforma.STONE, 490, 320],
                  [platforma.STONE, 550, 320],
                  [platforma.STONE, 610, 320],
                  [platforma.STONE, 610, 380],
                  [platforma.STONE, 610, 440],
                  [platforma.STONE, 610, 500],
                  [platforma.STONE, 610, 560],
                  [platforma.STONE, 610, 620],]
        
        #puntos
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 150
        puntos.rect.y = 700
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)   
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 320
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 366
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 412
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 458
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 504
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 560
        puntos.rect.y = 390
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 320
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 366
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 412
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 458
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 504
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 560
        puntos.rect.y = 467
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 320
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 366
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 412
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 458
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 504
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 560
        puntos.rect.y = 544
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 320
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 366
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 412
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 458
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 504
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 560
        puntos.rect.y = 621
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        
        
        

        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)
    def __init__(self, jugador):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """
        jugador_frame_izq = []
        jugador_frame_der = []
        jugador_frame_up = []
        jugador_frame_down = []

        pygame.sprite.Sprite.__init__(self)

        if jugador == 1:
            jugador_frame_izq = []
            jugador_frame_der = []
            jugador_frame_up = []
            jugador_frame_down = []

            sprite_sheet = SpriteSheet("imagenes/sun.png")
            imagen = sprite_sheet.obtener_imagen(271, 0, 77, 115)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(274, 138, 78, 114)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(274, 274, 85, 114)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(284, 399, 78, 113)
            self.jugador_frame_der.append(imagen)

            # # Carga de todos los sprite de la imagen hacia la izquierda.
            imagen = sprite_sheet.obtener_imagen(0, 0, 77, 115)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 140, 70, 115)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 273, 77, 115)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 398, 77, 114)
            self.jugador_frame_izq.append(imagen)

            # Carga de todos los sprite de la imagen hacia la ARRIBA
            imagen = sprite_sheet.obtener_imagen(181, 0, 78, 115)
            self.jugador_frame_up.append(imagen)
            imagen = sprite_sheet.obtener_imagen(181, 136, 78, 115)
            self.jugador_frame_up.append(imagen)
            imagen = sprite_sheet.obtener_imagen(183, 268, 76, 115)
            self.jugador_frame_up.append(imagen)

            # Carga de todos los sprite de la imagen hacia la ABAJO
            imagen = sprite_sheet.obtener_imagen(81, 0, 81, 115)
            self.jugador_frame_down.append(imagen)
            imagen = sprite_sheet.obtener_imagen(81, 132, 76, 115)
            self.jugador_frame_down.append(imagen)
            imagen = sprite_sheet.obtener_imagen(83, 264, 76, 115)
            self.jugador_frame_down.append(imagen)

        elif jugador == 2:
            jugador_frame_izq = []
            jugador_frame_der = []
            jugador_frame_up = []
            jugador_frame_down = []
            sprite_sheet = SpriteSheet("imagenes/astro.png")
            imagen = sprite_sheet.obtener_imagen(0, 0, 74, 125)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 145, 75, 130)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 282, 74, 130)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 419, 73, 130)
            self.jugador_frame_der.append(imagen)

            # # Carga de todos los sprite de la imagen hacia la izquierda.
            imagen = sprite_sheet.obtener_imagen(329, 18, 72, 126)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(332, 146, 70, 126)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(331, 291, 70, 127)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(325, 424, 70, 128)
            self.jugador_frame_izq.append(imagen)

            # Carga de todos los sprite de la imagen hacia la ARRIBA
            imagen = sprite_sheet.obtener_imagen(213, 17, 77, 122)
            self.jugador_frame_up.append(imagen)
            imagen = sprite_sheet.obtener_imagen(209, 157, 76, 121)
            self.jugador_frame_up.append(imagen)
            imagen = sprite_sheet.obtener_imagen(210, 289, 76, 122)
            self.jugador_frame_up.append(imagen)

            # Carga de todos los sprite de la imagen hacia la ABAJO
            imagen = sprite_sheet.obtener_imagen(106, 11, 75, 122)
            self.jugador_frame_down.append(imagen)
            imagen = sprite_sheet.obtener_imagen(94, 154, 77, 122)
            self.jugador_frame_down.append(imagen)
            imagen = sprite_sheet.obtener_imagen(94, 284, 77, 123)
            self.jugador_frame_down.append(imagen)

        # Seteamos con que sprite comenzar
        """self.jugador_frame_izq.append(imagen)
        self.jugador_frame_up.append(imagen)
        self.jugador_frame_down.append(imagen)
        self.jugador_frame_izq1.append(imagen)
        self.jugador_frame_up1.append(imagen)
       self.jugador_frame_down1.append(imagen)"""

        self.imagen = self.jugador_frame_down[0]
        self.rect = self.imagen.get_rect()
Exemple #26
0
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")

        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(896, 0, 896, 894)
        self.fondo = imagen_1

        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo
        nivel = [
            [platforma.STONE, 200, 200],
            [platforma.STONE, 200, 320],
            [platforma.STONE, 260, 260],
            [platforma.STONE, 320, 320],
            [platforma.STONE, 320, 200],
            [platforma.STONE, 500, 200],
            [platforma.STONE, 500, 320],
            [platforma.STONE, 560, 260],
            [platforma.STONE, 620, 320],
            [platforma.STONE, 620, 200],
            [platforma.STONE, 200, 500],
            [platforma.STONE, 200, 620],
            [platforma.STONE, 260, 560],
            [platforma.STONE, 320, 620],
            [platforma.STONE, 320, 500],
            [platforma.STONE, 500, 500],
            [platforma.STONE, 500, 620],
            [platforma.STONE, 560, 560],
            [platforma.STONE, 620, 620],
            [platforma.STONE, 620, 500],
        ]

        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)

        #puntos
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 700
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 120
        puntos.rect.y = 120
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 120
        puntos.rect.y = 700
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 120
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 420
        puntos.rect.y = 260
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 420
        puntos.rect.y = 560
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        #enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 500
        ene.rect.y = 400
        ene.limite_izquierdo = -280
        ene.limite_derecho = 280
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)

        #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 80
        puerta.rect.y = 440

        self.puerta.add(puerta)
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_1 = sprite_sheet_pantalla.obtener_imagen(896,0, 896,894)
        self.fondo = imagen_1
        
        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 396
        self.cambio_nivel_y = -16
        

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo 
        nivel = [
                 [platforma.STONE, 200, 200],
                 [platforma.STONE, 200, 320],
                 [platforma.STONE, 260, 260],
                 [platforma.STONE, 320, 320],
                 [platforma.STONE, 320, 200],
                 [platforma.STONE, 500, 200],
                 [platforma.STONE, 500, 320],
                 [platforma.STONE, 560, 260],
                 [platforma.STONE, 620, 320],
                 [platforma.STONE, 620, 200],  
                 [platforma.STONE, 200, 500],
                 [platforma.STONE, 200, 620],
                 [platforma.STONE, 260, 560],
                 [platforma.STONE, 320, 620],
                 [platforma.STONE, 320, 500],
                 [platforma.STONE, 500, 500],
                 [platforma.STONE, 500, 620],
                 [platforma.STONE, 560, 560],
                 [platforma.STONE, 620, 620],
                 [platforma.STONE, 620, 500], 
                                ]
        
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)
            
        #puntos
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 700
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 120
        puntos.rect.y = 120
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)    
        
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 120
        puntos.rect.y = 700
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)        
        
                
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 120
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)                


        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 420
        puntos.rect.y = 260
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)             


        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 420
        puntos.rect.y = 560
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)     
        
                #enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 500
        ene.rect.y = 400
        ene.limite_izquierdo = -280
        ene.limite_derecho = 280
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)                       
                
                
                
                #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 80
        puerta.rect.y = 440
        
        self.puerta.add(puerta)
Exemple #28
0
def main():
    """ Clase principal en el que se debe ejecutar el juego. """
    pygame.init()

    # Configuramos el alto y largo de la pantalla
    tamanio = [constantes.ANCHO_PANTALLA, constantes.LARGO_PANTALLA]
    pantalla = pygame.display.set_mode(tamanio)

    pygame.display.set_caption("Shadow's Boy")
    
    sprite_sheetN = SpriteSheet("imagenes/personajes2.png")
    jugador = sprite_sheetN.obtener_imagen(0,0,170,350)
    sprite_sheetN = SpriteSheet("imagenes/personajes2.png")
    jugador2 = sprite_sheetN.obtener_imagen(170,0,170,350)
    historia = pygame.image.load("imagenes/Historia.png").convert()
    creditos = pygame.image.load("imagenes/Creditos.png").convert()

    logo = pygame.image.load("imagenes/SBwallpaper.png").convert()
    logo.set_colorkey(constantes.BLANCO)
    alogo = True
    if alogo == True:    
        pantalla.blit(logo,(0,0))
        pygame.display.flip()
        alogo = False
    
    # menu
    menuJuego = cMenu(350,350,20,5,"vertical",100,pantalla,[("Play",1,None),("Historia",2,None),("Credits",3,None),("Exit",4,None)])
    menuJugador = cMenu(250, 200, 20, 5, "horizontal", 4, pantalla, [("sombra1",5,jugador),("sombra2",5,jugador2),("Volver",0,None)])
    historia = cMenu (0,0, 400, 400, 'vertical',5,pantalla,[("Historia",7,historia)])
    creditos = cMenu (0,0, 630, 348, 'vertical',6,pantalla,[("Creditos",8,creditos)])
   
    
    
    estado = 0
    estado_previo = 1 
    
    opcion =  [] 
    jugador = 1
    salir = False
    
    
    while not salir:
        if estado_previo != estado:
            pygame.event.post(pygame.event.Event(menu.EVENT_CHANGE_STATE, key = 0))
            estado_previo = estado
        e = pygame.event.wait()
        
        if e.type == pygame.KEYDOWN or e.type == menu.EVENT_CHANGE_STATE:
            if estado == 0:
                opcion, estado = menuJuego.update(e,estado) 
            elif estado == 1:                
                pantalla.blit(logo,(0,0))
                opcion, estado = menuJugador.update(e, estado)
                pygame.display.flip()

            elif estado == 2:
                pantalla.fill(constantes.BLANCO)
                opcion, estado = historia.update(e, estado)
                pygame.display.flip()
 
            elif estado == 3:
                pantalla.fill(constantes.BLANCO)
                opcion, estado = creditos.update(e, estado)
                pygame.display.flip()
            
            elif estado == 5:
                jugar(pantalla, 1)
                
            elif estado == 6:
                jugar(pantalla, 2)
                
            elif estado == 7:
                jugador = 3
                jugar(pantalla, jugador)
                
            elif estado == 8:
                pantalla.fill(constantes.BLANCO)
                estado = 0
                pantalla.blit(logo,(0,0))
                pygame.display.flip()
            
            else:
                salir = True
        
        if e.type == pygame.QUIT:
            salir = True
            
        pygame.display.update(opcion)
    
    
    pygame.quit()
    def __init__(self,ruta):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """

        pygame.sprite.Sprite.__init__(self)

        sprite_sheet = SpriteSheet(ruta)
        
        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen = sprite_sheet.obtener_imagen(31, 50, 86, 149)
        
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(140, 50, 87,141 )
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(244, 50, 70, 141)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(348, 44, 48, 155)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(445, 45, 60, 155)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(549, 50, 77, 155)
        self.jugador_frame_der.append(imagen)
        imagen = sprite_sheet.obtener_imagen(30, 230, 78, 139)
        self.jugador_frame_der.append(imagen)

        # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.
        imagen = sprite_sheet.obtener_imagen(0, 0, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(66, 0, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(132, 0, 67, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(0, 93, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(66, 93, 66, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(132, 93, 72, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)
        imagen = sprite_sheet.obtener_imagen(0, 186, 70, 90)
        imagen = pygame.transform.flip(imagen, True, False)
        self.jugador_frame_izq.append(imagen)

        # Seteamos con que sprite comenzar
        self.image = self.jugador_frame_der[0]


        self.rect = self.image.get_rect()
Exemple #30
0
    def __init__(self, jugador):
        """ Metodo que crea el nivel 1 """

        # Se llama al metodo del padre constructor.
        Level.__init__(self, jugador)

        #Cargamos la imagen de fondo.
        sprite_sheet_pantalla = SpriteSheet("imagenes/fondoactualizado.png")

        # Carga de todos los sprite de la imagen hacia la derecha.
        imagen_2 = sprite_sheet_pantalla.obtener_imagen(1788, 894, 896, 894)
        self.fondo = imagen_2

        self.fondo.set_colorkey(constantes.BLANCO)
        self.limite_derecho = 740
        self.limite_izquierdo = 88
        self.limite_superior = -10
        self.limite_inferior = 686
        self.cambio_nivel_x = 92
        self.cambio_nivel_y = 388

        self.fondo.set_colorkey(constantes.BLANCO)

        # Lista con los bloques de plataformas, indicando la ubicacion x,y y el tipo
        nivel = [[platforma.STONE, 200, 500], [platforma.STONE, 250, 450],
                 [platforma.STONE, 300, 400], [platforma.STONE, 350, 350],
                 [platforma.STONE, 400, 300], [platforma.STONE, 450, 300],
                 [platforma.STONE, 500, 350], [platforma.STONE, 550, 400],
                 [platforma.STONE, 600, 450], [platforma.STONE, 650, 500],
                 [platforma.STONE, 150, 550], [platforma.STONE, 100, 600]]

        # Se busca en la lista anterior creada y se le agregan las plataformas al nivel.
        for plataforma in nivel:
            bloque = platforma.Plataforma(plataforma[0])
            bloque.rect.x = plataforma[1]
            bloque.rect.y = plataforma[2]
            bloque.jugador = self.jugador
            self.lista_plataformas.add(bloque)

        nivel_artefacto = [[artefactos.ESCALERA, 656, 97]]

        for artefactos1 in nivel_artefacto:
            bloque_a = artefactos.Artefactos(artefactos1[0])
            bloque_a.rect.x = artefactos1[1]
            bloque_a.rect.y = artefactos1[2]
            bloque_a.jugador = self.jugador
            self.lista_artefactos.add(bloque_a)

        #Puntos
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 200
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 300
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 400
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 500
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 600
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        """
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 650
        puntos.rect.y = 153
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 700
        puntos.rect.y = 103
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 750
        puntos.rect.y = 153
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)
        """

        #Puntos de abajo
        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 100
        puntos.rect.y = 720
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 430
        puntos.rect.y = 380
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        puntos = Estrellas(ESTRELLA)
        puntos.rect.x = 750
        puntos.rect.y = 720
        puntos.limite_izquierdo = 1350
        puntos.limite_derecho = 1600
        puntos.mover_x = 1
        puntos.jugador = self.jugador
        puntos.nivel = self
        self.lista_puntos.add(puntos)

        #Enemigos
        ene = enemigos.MovingPlatform()
        ene.rect.x = 300
        ene.rect.y = 200
        ene.limite_izquierdo = -3
        ene.limite_derecho = 500
        ene.mover_x = 2
        ene.jugador = self.jugador
        ene.nivel = self
        self.lista_enemigos.add(ene)

        # Se agrega una plataforma en movimiento.
        bloque = platforma.PlataformaConMovimiento(platforma.STONE)
        bloque.rect.x = 1350
        bloque.rect.y = 280
        bloque.limite_izquierdo = 1350
        bloque.limite_derecho = 1600
        bloque.mover_x = 1
        bloque.jugador = self.jugador
        bloque.nivel = self
        self.lista_plataformas.add(bloque)

        #puerta
        puerta = Puerta(PUERTA)
        puerta.rect.x = 80
        puerta.rect.y = 436
        self.puerta.add(puerta)
Exemple #31
0
    def __init__(self, rol):
        """ __Funcion constructor__ 
            Aca en donde se debe cargar el sprite sheet del jugador.
            Se debe cargar los sprite con movimiento hacia la izquierda y hacia la derecha.
        """
        self.jugador_frame_izq = []
        self.jugador_frame_der = []

        pygame.sprite.Sprite.__init__(self)
        if rol == 1:
            sprite_sheet = SpriteSheet("imagenes/spritesdimensiones.png")
            self.genero = 1
            # Carga de todos los sprite de la imagen hacia la derecha.
            imagen = sprite_sheet.obtener_imagen(600, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(480, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(360, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(240, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(120, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 180, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(600, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(480, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(360, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(240, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(120, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 0, 120, 180)
            self.jugador_frame_der.append(imagen)
            # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.
            imagen = sprite_sheet.obtener_imagen(600, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(480, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(360, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(240, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(120, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 180, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(600, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(480, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(360, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(240, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(120, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(0, 0, 120, 180)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)

        else:

            sprite_sheet = SpriteSheet("imagenes/Spritesheet2.png")
            self.genero = 2
            # Carga de todos los sprite de la imagen hacia la derecha.
            imagen = sprite_sheet.obtener_imagen(601, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(481, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(361, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(241, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(121, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(1, 180, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(601, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(481, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(361, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(241, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(121, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            imagen = sprite_sheet.obtener_imagen(1, 0, 119, 179)
            self.jugador_frame_der.append(imagen)
            # # Carga de todos los sprite de la imagen hacia la derecha y la rotamos.
            imagen = sprite_sheet.obtener_imagen(601, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(481, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(361, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(241, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(121, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(1, 180, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(601, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(481, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(361, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(241, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(121, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
            imagen = sprite_sheet.obtener_imagen(1, 0, 119, 179)
            imagen = pygame.transform.flip(imagen, True, False)
            self.jugador_frame_izq.append(imagen)
        # Seteamos con que sprite comenzar
        self.image = self.jugador_frame_der[0]

        self.rect = self.image.get_rect()