Exemple #1
0
class Controlador_vp:
    fabrica = Personaje.Fabrica_deku().getInstance()
    p = fabrica.getPersonaje()
    fabrica.setProyectil(2)
    p = Personaje.Escudo(p)
    nombre = ["deku", "goron", "gerudo", "zora"]
    i = 0
    k = 1

    def correr_indice(self, ind):
        if self.i + ind < 0:
            self.i = len(self.nombre) - 1
        else:
            self.i = (self.i + ind) % len(self.nombre)
        if (self.nombre[self.i] == "deku"):
            self.fabrica = Personaje.Fabrica_deku.getInstance()
        elif (self.nombre[self.i] == "goron"):
            self.fabrica = Personaje.Fabrica_goron.getInstance()
        elif (self.nombre[self.i] == "gerudo"):
            self.fabrica = Personaje.Fabrica_gerudo.getInstance()
        elif (self.nombre[self.i] == "zora"):
            self.fabrica = Personaje.Fabrica_zora.getInstance()
        self.p = self.fabrica.getPersonaje()
        self.p = Personaje.Escudo(self.p)
        self.fabrica.setProyectil(1)
        self.k = 1

    def correr_pro(self):
        if self.k == 1:
            self.k = 2
        else:
            self.k = 1

        self.fabrica.setProyectil(self.k)

    def getPersonaje(self):
        return self.p.getSprite()

    def getProyectil(self):

        return self.p.get_proyectil().get_sprite()

    def getEscudo(self):

        return self.p.get_escudo()

    def iniciar(self):
        print("asd")
Exemple #2
0
 def listarPersonajes(self):
     if self.contadorVictoria == 5:
         t1_galactus = Tecnica("Destrozo", 500, 30)
         t2_galactus = Tecnica("Comerse el planeta", 1000, 30)
         escudo = Tecnica("Añadir Escudo", 0, 30)
         ultraboss = Personaje("Galactus", "Galactico", 500, 2000, 0,
                               t1_galactus, t2_galactus, escudo)
         self.personajes.append(ultraboss)
         self.contadorVictoria = 0
     print("**Personajes Disponibles**")
     for x in range(0, len(self.personajes)):
         print(self.personajes[x])
Exemple #3
0
 def correr_indice(self, ind):
     if self.i + ind < 0:
         self.i = len(self.nombre) - 1
     else:
         self.i = (self.i + ind) % len(self.nombre)
     if (self.nombre[self.i] == "deku"):
         self.fabrica = Personaje.Fabrica_deku.getInstance()
     elif (self.nombre[self.i] == "goron"):
         self.fabrica = Personaje.Fabrica_goron.getInstance()
     elif (self.nombre[self.i] == "gerudo"):
         self.fabrica = Personaje.Fabrica_gerudo.getInstance()
     elif (self.nombre[self.i] == "zora"):
         self.fabrica = Personaje.Fabrica_zora.getInstance()
     self.p = self.fabrica.getPersonaje()
     self.p = Personaje.Escudo(self.p)
     self.fabrica.setProyectil(1)
     self.k = 1
Exemple #4
0
    def Personaje_Tecnica(self):

        self.p1 = Personaje("Obelisk", 2000, 30)
        self.t1 = Tecnica("Tumba", 1000)
        self.t2 = Tecnica("Golpe de Muerte", 500)

        self.p2 = Personaje("Ra", 2000, 30)
        self.t3 = Tecnica("Divinidad", 550)
        self.t4 = Tecnica("Rayo de Muerte", 1000)

        self.p3 = Personaje("Mago Oscuro", 2000, 30)
        self.t5 = Tecnica("Magia Oscura", 1500)
        self.t6 = Tecnica("Disparo", 950)

        self.personajes.append(self.p1)
        self.personajes.append(self.p2)
        self.personajes.append(self.p3)

        self.p1.setTecinas(self.t1, self.t2)
        self.p2.setTecinas(self.t3, self.t4)
        self.p3.setTecinas(self.t5, self.t6)
Exemple #5
0
    def CreacionPersonajes(self):
        t1_p1 = Tecnica("Hulk Aplasta", 150, 30)
        t2_p1 = Tecnica("Hulk Furioso", 900, 1)
        t1_p2 = Tecnica("Pegar", 130, 30)
        t2_p2 = Tecnica("Ataque Crítico", 150, 3)
        t1_p3 = Tecnica("Estabilizadores de Vuelo", 150, 30)
        t2_p3 = Tecnica("Concentración Láser", 180, 3)
        t1_p4 = Tecnica("Iron Man Aplasta", 80, 30)
        t2_p4 = Tecnica("Veronica", 120, 3)
        t1_p5 = Tecnica("Lanzatelarañas", 120, 30)
        t2_p5 = Tecnica("El cosquilleo de Peter", 150, 3)
        t1_p6 = Tecnica("Lanzatelarañas", 150, 30)
        t2_p6 = Tecnica("Matanza Instantánea", 190, 3)
        t1_p7 = Tecnica("Lanzamiento del Escudo", 150, 30)
        t2_p7 = Tecnica("Aguantaría todo el dia", 190, 3)
        t1_p8 = Tecnica("Golpe con brazo metálico", 150, 30)
        t2_p8 = Tecnica("Ataque Hydra", 190, 3)
        t1_p9 = Tecnica("Ataque Básico", 180, 30)
        t2_p9 = Tecnica("Gemas del Infinito", 220, 3)
        t1_p10 = Tecnica("Llave de combate", 150, 30)
        t2_p10 = Tecnica("Entrenamiento Natasha", 180, 3)
        t1_p11 = Tecnica("Disparar Flecha", 150, 30)
        t2_p11 = Tecnica("Te he hecho mirar", 180, 3)
        t1_p12 = Tecnica("Ala Roja", 150, 30)
        t2_p12 = Tecnica("Por la Izquierda", 180, 3)
        t1_p13 = Tecnica("Estabilizadores de Vuelo", 150, 30)
        t2_p13 = Tecnica("Concentración Láser", 180, 3)
        escudo = Tecnica("Añadir Escudo", 0, 30)

        personaje1 = Personaje("Hulk", "Tanque", 150, 900, 0, t1_p1, t2_p1,
                               escudo)
        personaje2 = Personaje("Profesor Hulk", "Tanque", 130, 900, 0, t1_p2,
                               t2_p2, escudo)
        personaje3 = Personaje("Iron Man Mark 50", "Versátil", 150, 600, 0,
                               t1_p3, t2_p3, escudo)
        personaje4 = Personaje("Iron Man HulkBuster", "Tanque", 80, 1000, 0,
                               t1_p4, t2_p4, escudo)
        personaje5 = Personaje("Spider-Man", "Versátil", 120, 600, 0, t1_p5,
                               t2_p5, escudo)
        personaje6 = Personaje("Spider-Man Iron Spider", "Versátil", 150, 600,
                               0, t1_p6, t2_p6, escudo)
        personaje7 = Personaje("Capitan America", "Versátil", 150, 600, 0,
                               t1_p7, t2_p7, escudo)
        personaje8 = Personaje("Lobo Blanco", "Versátil", 150, 600, 0, t1_p8,
                               t2_p8, escudo)
        personaje9 = Personaje("Thanos", "Titán", 180, 900, 0, t1_p9, t2_p9,
                               escudo)
        personaje10 = Personaje("Viuda Negra", "Espia", 120, 450, 0, t1_p10,
                                t2_p10, escudo)
        personaje11 = Personaje("Hawkeye", "Espia", 120, 450, 0, t1_p11,
                                t2_p11, escudo)
        personaje12 = Personaje("Falcon", "Aéreo", 120, 450, 0, t1_p12, t2_p12,
                                escudo)
        personaje13 = Personaje("Maquina de Guerra", "Versátil", 150, 600, 0,
                                t1_p13, t2_p13, escudo)

        # Añadimos los personajes a una lista
        self.personajes = [
            personaje1, personaje2, personaje3, personaje4, personaje5,
            personaje6, personaje7, personaje8, personaje9, personaje10,
            personaje11, personaje12, personaje13
        ]
Exemple #6
0
#Randoms Personaje
randomVidaPersonaje = random.choice(range(1, 2))
randomEscudoPersonaje = random.choice(range(10, 16))
#randomIniciativaPersonaje = random.choice(range(3, 5))
randomIniciativaPersonaje = 1
#Randoms Monster
nombreMousntro = random.choice(nombresEnemigos)
razaMousntro = random.choice(razasEnemigos)
clase = random.choice(clasesEnemigos[tipoMousntro])
randomVidaMousntro = random.choice(range(1, 2))
randomEscudoMousntro = random.choice(range(1, 2))
#randomIniciativaMonster = random.choice(range(1, 2))
randomIniciativaMonster = 1
# Creacion objeto Monster
m = Personaje(nombreMousntro, razaMousntro, clase, 0, 0, 0,
              randomIniciativaMonster, "")
m.setVida(m.VidaPersonaje(randomVidaMousntro, tipoMousntro))
m.setEscudo(m.EscudoPersonaje(randomEscudoMousntro, tipoMousntro))
m.setAtaque(m.AtaqueBase(tipoMousntro))
m.setTecnicas(tecnicas.get(tipoMousntro))

# Creacion de objeto Personaje
tipoPersonaje = ""
p1 = Personaje("", "", "", 0, 0, 0, 0, "")
p1.setTecnicas(tecnicas.get(tipoMousntro))
p1.setIniciativa(randomIniciativaPersonaje)

p1.nombre = input("Nombre de personaje: ")

print(""" -- ELIGE TU CLASE --
    [1] Guerrero
Exemple #7
0
 def __init__(self, imagen, x, y):
     Personaje.__init__(self, imagen, x, y)
Exemple #8
0
 def __init__(self, vida, vel):
     Personaje.__init__(self, vida, vel)
Exemple #9
0
qKayn = Habilidades("Corte Segador", 140, 0, 0, "-")
wKayn = Habilidades("Alcance de cuchilla", 270, 0, 0, "-")
eKayn = Habilidades("Paso sombrio", 0, 150, 0, "-")
rKayn = Habilidades("Transgresion de umbral", 350, 300, 0, "-")

qSylas = Habilidades("Azote de cadenas", 100, 0, 0, "-")
wSylas = Habilidades("Matarreyes", 205, 150, 0, "-")
eSylas = Habilidades("Fuga", 220, 0, 0, "-")
rSylas = Habilidades("Usurpacion", 0, 0, 0, "-")

qEkko = Habilidades("Rebobinador de tiempo", 260, 0, 0, "-")
wEkko = Habilidades("Convergencia paralela", 0, 0, 160, "-")
eEkko = Habilidades("Salto de fase", 140, 0, 0, "-")
rEkko = Habilidades("Cronorruptura", 450, 200, 0, "-")

Kayn = Personaje("Kayn", 2500)
Kayn.setHabilidades(qKayn)
Kayn.setHabilidades(wKayn)
Kayn.setHabilidades(eKayn)
Kayn.setHabilidades(rKayn)

Sylas = Personaje("Sylas", 1900)
Sylas.setHabilidades(qSylas)
Sylas.setHabilidades(wSylas)
Sylas.setHabilidades(eSylas)
Sylas.setHabilidades(rSylas)

Ekko = Personaje("Ekko", 2100)
Ekko.setHabilidades(qEkko)
Ekko.setHabilidades(wEkko)
Ekko.setHabilidades(eEkko)
Exemple #10
0
 def __init__(self,imagen,x,y,alias):
     Personaje.__init__(self,imagen,x,y)              #A mi me funciona sin tener que ponerla pero asi compila seguro.
     self.alias=alias
     self.t = 1
Exemple #11
0
class Juego:
    def __init__(self, nombre):
        self.nombre = nombre
        self.p1 = Personaje
        self.t1 = Tecnica
        self.t2 = Tecnica
        self.p2 = Personaje
        self.personajes = []
        self.jugador1 = Personaje
        self.jugador2 = Personaje

    def Personaje_Tecnica(self):

        self.p1 = Personaje("Obelisk", 2000, 30)
        self.t1 = Tecnica("Tumba", 1000)
        self.t2 = Tecnica("Golpe de Muerte", 500)

        self.p2 = Personaje("Ra", 2000, 30)
        self.t3 = Tecnica("Divinidad", 550)
        self.t4 = Tecnica("Rayo de Muerte", 1000)

        self.p3 = Personaje("Mago Oscuro", 2000, 30)
        self.t5 = Tecnica("Magia Oscura", 1500)
        self.t6 = Tecnica("Disparo", 950)

        self.personajes.append(self.p1)
        self.personajes.append(self.p2)
        self.personajes.append(self.p3)

        self.p1.setTecinas(self.t1, self.t2)
        self.p2.setTecinas(self.t3, self.t4)
        self.p3.setTecinas(self.t5, self.t6)

    def mostrar(self):
        delay_print("Yu-Gi-Oh\n")
        delay_print("Personajes: \n")
        print("------------")
        self.p1.Datos_Personaje()
        self.p2.Datos_Personaje()
        self.p3.Datos_Personaje()

    def Elegir_Personaje(self):
        j1 = input("\nJugador 1, seleccione un personaje: ")
        if j1 == "1":
            self.jugador1 = self.p1
        elif j1 == "2":
            self.jugador1 = self.p2
        elif j1 == "3":
            self.jugador1 = self.p3
        print("El jugador 1 ha seleccionado a: " +
              str(self.jugador1.getNombre()))

    def ElegirCPU(self):
        r = random.choice(range(1, 3))
        if r == 1:
            if self.jugador1 == self.p1:
                self.jugador2 = self.p3
            else:
                self.jugador2 = self.p1
        elif r == 2:
            if self.jugador1 == self.p2:
                self.jugador2 = self.p1
            else:
                self.jugador2 = self.p2
        elif r == 3:
            if self.jugador1 == self.p3:
                self.jugador2 = self.p2
            else:
                self.jugador2 = self.p3

        print("Ha elegido el siguiente monstruo: " +
              str(self.jugador2.getNombre()))

    def usarTecnica(self, jugador, enemigo):
        print("----------------------")
        print("Tecnicas de: " + jugador.getNombre())
        print(jugador.getTecnica())
        tec = input("Seleccione una tecnica: ")
        if tec == "1":
            if (jugador.getTecnica1(0).getDanoFisico()) > 0:
                enemigo.recibirDanoFisico(
                    int(jugador.getTecnica1(0).getDanoFisico()))
                print("La tecnica es usado y es el siguiente : " +
                      str(jugador.getTecnica1(0).getNombre()) +
                      " la vida de " + enemigo.getNombre() + " es: " +
                      str(enemigo.getVida()))

        elif tec == "2":
            if (jugador.getTecnica1(1).getDanoFisico()) > 0:
                enemigo.recibirDanoFisico(
                    int(jugador.getTecnica1(1).getDanoFisico()))
                print("La tecnica es usado y es el siguiente : " +
                      str(jugador.getTecnica1(1).getNombre()) +
                      " la vida de " + enemigo.getNombre() + " es: " +
                      str(enemigo.getVida()))

    def usarTecnicaCPU(self):

        q = randint(1, 2)
        print("----------------------")
        if q == 1:
            if (self.jugador2.getTecnica1(0).getDanoFisico()) > 0:
                self.jugador1.recibirDanoFisico(
                    int(self.jugador2.getTecnica1(0).getDanoFisico()))
                print(self.jugador2.getNombre() + " el CPU utiliza:   " +
                      self.jugador2.getTecnica1(0).getNombre())
            print("Tecnica realizada correctamente, la vida de " +
                  self.jugador1.getNombre() + " es: " +
                  str(self.jugador1.getVida()))

        elif q == 2:
            if (self.jugador2.getTecnica1(1).getDanoFisico()) > 0:
                self.jugador1.recibirDanoFisico(
                    int(self.jugador2.getTecnica1(1).getDanoFisico()))
                print(self.jugador2.getNombre() + " el CPU utiliza: " +
                      self.jugador2.getTecnica1(1).getNombre())
            print("Tecnica realizada correctamente, la vida de " +
                  self.jugador1.getNombre() + " es : " +
                  str(self.jugador1.getVida()))

    def lucha(self):
        print(
            "*************************Empieza el juego**************************"
        )
        rondas = 0
        while self.jugador1.getVida() > 0 and self.jugador2.getVida() > 0:
            rondas = rondas + 1
            print("------------")
            print("Ronda: " + str(rondas))
            print("-------------")
            self.usarTecnica(self.jugador1, self.jugador2)
            print("")
            if self.jugador2.getVida() > 0:
                self.usarTecnicaCPU()

        if self.jugador1.getVida() <= 0:
            print("\n-------------------------")
            print("Ha ganado:" + str(self.jugador2.getNombre()))
        else:
            print("\n-------------------------")
            print("Ha ganado:" + str(self.jugador1.getNombre()))

    def volverJugar(self):
        volverJuego = input("¿Deseas volver a jugar? [s/n]")
        if volverJuego == "s":
            return True
        elif volverJuego == "n":
            return False
        else:
            print("Opcion no valida, saliendo del juego...")
            return False
Exemple #12
0
 def __init__(self, imagen, x, y, alias):
     Personaje.__init__(
         self, imagen, x, y
     )  #A mi me funciona sin tener que ponerla pero asi compila seguro.
     self.alias = alias
     self.t = 1
Exemple #13
0
 def __init__(self,imagen,x,y):
     Personaje.__init__(self,imagen,x,y)
Exemple #14
0
    "\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'\"`-0-0-'"
)
print("                                         Welcome")

m = Batalla()

time.sleep(3.5)

m.menuEligePersonaje()

salir = False

while salir == False:
    slcP = input()
    if slcP == 1:
        p1 = Personaje("ElJefe de PUBG", 400, 120, 20)
        tecnica1 = Tecnicas("Amonestacion", True, 0.9, 90, 70, None)
        tecnica2 = Tecnicas("Esto esta GG", False, 0, 30, 100,
                            "efecto de subir 1'25*DMG propio")
        tecnica3 = Tecnicas("5 min para entregar", True, 0.3, 70, 100,
                            "efecto de subir 1'25*DMG propio")
        tecnica4 = Tecnicas("Ejercicios", True, 0.6, 40, 90, None)
        p1.setTecnicas(tecnica1, tecnica2, tecnica3, tecnica4)
        salir = True

    elif slcP == 2:
        p1 = Personaje("KHANTOSO", 700, 90, 18)
        tecnica5 = Tecnicas("Lanzadurm", True, 0.8, 90, 80,
                            "Se cura un 5% de su vida max")
        tecnica6 = Tecnicas("No entregado el CV", True, 0.6, 40, 100, None)
        tecnica7 = Tecnicas("Movil en clase", False, 0, 70, 75,
Exemple #15
0
import pygame
from Director import Director
from Pantallas import *
from Variables import *
from Personaje import Personaje
#testing comment
pygame.init()
#testing vs code git 2
director = Director()

pj = Personaje(pjx, pjy)

#create scenes
scene1 = Pantalla1(map1, "imagenes/mapas/city.jpg", soundtrack1, pj)
scene2 = Pantalla2(map2, "imagenes/mapas/forest.png", soundtrack2, pj)
scenes = [scene1, scene2]
#doing this we create all the scenes at the beginning and just change them during program
for e in scenes:
    e.scenes = scenes

#use the first scene
if mapaG == 0:
    director.change_scene(scene1)
    pygame.mixer.music.load(scene1.soundtrack)
elif mapaG == 1:
    director.change_scene(scene2)
    pygame.mixer.music.load(scene2.soundtrack)

pygame.mixer.music.play()

#start the main loop
Exemple #16
0
    def PersonajePokemon(self):

        tecnica1 = tecnica("Ascuas", 15, 15)
        tecnica2 = tecnica("Burbuja", 15, 15)
        tecnica3 = tecnica("Placaje", 15, 15)
        tecnica4 = tecnica("Psiquico", 35, 10)
        tecnica5 = tecnica("Latigo cepa", 15, 15)
        tecnica6 = tecnica("Pantalla humo", 0, 15)
        tecnica7 = tecnica("Mordisco", 15, 15)
        tecnica8 = tecnica("Pantalla luz", 0, 15)
        tecnica9 = tecnica("Arañazo", 10, 35)
        tecnica10 = tecnica("Rayo solar", 75, 5)
        tecnica11 = tecnica("Llamarada", 75, 5)
        tecnica12 = tecnica("Hidrobomba", 75, 5)
        tecnica13 = tecnica("Premonicion", 50, 15)
        tecnica14 = tecnica("Rayo hielo", 35, 15)
        tecnica15 = tecnica("Foco resplandor", 25, 10)
        tecnica16 = tecnica("Rayo", 35, 15)
        tecnica17 = tecnica("Trueno", 25, 10)
        tecnica18 = tecnica("Cola ferrea", 40, 15)
        tecnica19 = tecnica("Ataque arena", 0, 15)

        pokemon1 = Personaje("Charmander", "fuego", "audaz", 100, tecnica1,
                             tecnica11, tecnica3, tecnica6)
        pokemon2 = Personaje("Squirtle", "agua", "timido", 100, tecnica12,
                             tecnica2, tecnica3, tecnica7)
        pokemon3 = Personaje("Bulbasaur", "planta", "audaz", 100, tecnica5,
                             tecnica10, tecnica9, tecnica15)
        pokemon4 = Personaje("Pikachu", "electrico", "timido", 100, tecnica16,
                             tecnica17, tecnica18, tecnica3)
        pokemon5 = Personaje("Eevee", "Normal", "Valiente", 100, tecnica3,
                             tecnica18, tecnica19, tecnica10)
        pokemon6 = Personaje("Mewtwo", "Psiquico", "timido", 100, tecnica13,
                             tecnica14, tecnica8, tecnica4)

        self.personajes = [
            pokemon1, pokemon2, pokemon3, pokemon4, pokemon5, pokemon6
        ]

        def listarPersonajes(self):
            print("**Personajes Disponibles**")
            for x in range(0, len(self.personajes)):
                print(self.personajes[x])

        def elegirPersonajeJugador(self):
            contador = 0
            salir = True
            personajeElegido = input("Personaje a elegir: ")
            while salir:
                if personajeElegido == self.personajes[contador].getNom():
                    self.personajeJugador = self.personajes[contador]
                    del self.personajes[contador]
                    salir = False

                contador += 1

            print("Jugador elegido por el Usuario: " +
                  str(self.personajeJugador))

        def elegirPersonajeCPU(self):
            personajeAleatorio = random.choice(self.personajes)
            self.personajeCPU = personajeAleatorio
            self.personajes.remove(personajeAleatorio)
            print("Jugador elegido por la CPU: " + str(self.personajeCPU))

        def bajarVidaCPU(self, tecnica):
            if self.personajeCPU.getEscudo() == 0:
                self.personajeCPU.setVida(self.personajeCPU.getVida() -
                                          tecnica.getDano())
            else:
                self.personajeCPU.setEscudo(self.personajeCPU.getEscudo() -
                                            tecnica.getDano())

        def bajarVidaJugador(self, tecnica):
            if self.personajeJugador.getEscudo() == 0:
                self.personajeJugador.setVida(self.personajeJugador.getVida() -
                                              tecnica.getDano())
            else:
                self.personajeJugador.setEscudo(
                    self.personajeJugador.getEscudo() - tecnica.getDano())

        def turnoJugador(self):
            print("Comienza el turno del Usuario...")
            time.sleep(3)
            print("Tecnicas del Personaje: " + "\n" +
                  self.personajeJugador.getTecnica(1) + "\n" +
                  self.personajeJugador.getTecnica(2) + "\n" +
                  self.personajeJugador.getTecnica(3))
            tecnicaEscogida = int(input("¿Qué tecnica querrías usar? "))
            self.bajarVidaCPU(
                self.personajeJugador.getTecnica(tecnicaEscogida))

        def jugar(self):
            # while self.personajeJugador.getVida() > 0 or self.personajeCPU.getVida() > 0:
            print(
                str(self.personajeJugador) + " " +
                str(self.personajeJugador.getVida()) + " ***VS*** " +
                str(self.personajeCPU) + " " +
                str(self.personajeCPU.getVida()))
Exemple #17
0
    def actualizar(self, pro, ene):
        if self.personaje.accion != 'saltar' and self.personaje.dy < 0:
            self.personaje.dy = 0
        if self.personaje.cayendo:
            self.personaje.y = self.personaje.y + self.personaje.dy

            self.personaje.dy = self.personaje.dy + self.personaje.dvy

        cayendo = True
        for c in self.co:

            if c.x <= self.personaje.x and c.x + 50 >= self.personaje.x:

                for b in c.bloques:

                    if b.y <= self.personaje.y + 50 and b.y + 50 > self.personaje.y + 50:
                        self.personaje.y = b.y - 50
                        cayendo = False
                        self.personaje.dy = 0
                        break
        self.personaje.cayendo = cayendo
        golpeado = False
        for pr in pro:

            if (pr.x <= self.personaje.x + 50 and pr.x + 50 >= self.personaje.x
                ) or (pr.x + 50 >= self.personaje.x
                      and pr.x <= self.personaje.x + 50):
                if (pr.y <= self.personaje.y + 50
                        and pr.y + 50 >= self.personaje.y) or (
                            pr.y + 50 >= self.personaje.y
                            and pr.y <= self.personaje.y + 50):
                    golpeado = True

                    if pr.tipo in self.personaje.debil:
                        self.personaje.vida = self.personaje.vida - 20
                    else:
                        self.personaje.vida = self.personaje.vida - 10
                    break

        if golpeado and isinstance(
                self.personaje.estado,
                Personaje.Normal) and self.personaje != 'morir':
            if self.personaje.vida <= 0:
                self.personaje.setAccion("morir")
            else:
                self.personaje.setEstado(Personaje.Herido(self.personaje, 200))

        for e in ene:

            golpeado = False
            if (e[1] <= self.personaje.x + 50 and e[1] + 50 >= self.personaje.x
                ) or (e[1] + 50 >= self.personaje.x
                      and e[1] <= self.personaje.x + 50):
                if (e[2] <= self.personaje.y + 50
                        and e[2] + 50 >= self.personaje.y) or (
                            e[2] + 50 >= self.personaje.y
                            and e[2] <= self.personaje.y + 50):

                    golpeado = True

                    break
        if golpeado and isinstance(
                self.personaje.estado,
                Personaje.Normal) and self.personaje != 'morir':
            self.personaje.setEstado(Personaje.Herido(self.personaje, 500))

            self.personaje.vida = self.personaje.vida - 10
        self.logEne.actualizar()
        return not (self.personaje.accion == 'morir'
                    and self.personaje.indice == self.personaje.rango)