From ed73213ee671e16f48ecc79be9dc0c63e1a1ab78 Mon Sep 17 00:00:00 2001 From: fedpo Date: Fri, 16 May 2025 12:08:32 -0300 Subject: [PATCH] archivo al momento de la entrega --- main.py | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 main.py diff --git a/main.py b/main.py new file mode 100644 index 0000000..eaa3da9 --- /dev/null +++ b/main.py @@ -0,0 +1,79 @@ +# Ejercicio 1 +class Persona(): + def __init__(self, vida, posicion, velocidad): + self._vida = vida + self._posicion = posicion + self._velocidad = velocidad + + def recibir_ataque(self, ataque): + if (self._vida <= ataque): + self._vida = 0 + print("La vida de la persona llego a 0") + else: + self._vida -= ataque + + + def mover(self, direccion): + if (direccion == "up"): + self._posicion["y"]+=self._velocidad + elif (direccion == "down"): + self._posicion["y"]-=self._velocidad + elif (direccion == "left"): + self._posicion["x"]-=self._velocidad + elif (direccion == "right"): + self._posicion["x"]+=self._velocidad + + def state(self): + return f"vida: {self._vida }, posicion: {self._posicion}, velocidad: {self._velocidad}" +# Ejercicio2 +class Soldado(Persona): + + def __init__(self, vida, posicion, velocidad, ataque): + super().__init__(vida, posicion, velocidad) + self._ataque = ataque + + def atacar(self, personaje): + personaje.recibir_ataque(self._ataque) + + +#Ejercicio 3 +class Campesino(Persona): + + def __init__(self, vida, posicion, velocidad, cosecha): + super().__init__(vida, posicion, velocidad) + self._cosecha = cosecha + + def cosechar(self): + print(f"Cantidad Cosechada {self._cosecha} ") + +# ejercicio 4. ?? el campesino no puede atacar + + + +soldado = Soldado(10, {"x": 0, "y":0}, 5, 5 ) +campe = Campesino(10, {"x":0,"y":0}, 2, 50) +persona = Persona(10, {"x":0, "y":0}, 10) + + +print("=====Estado Inicial======") +print(soldado.state()) +print(campe.state()) +print(persona.state()) + +print("=====Campesino muestra cosecha=====") +campe.cosechar() + +print("=====Soldado se mueve=====") +soldado.mover("up") +soldado.mover("left") +print(soldado.state()) + +print("=====Soldado ataca 2 veces al campesino y una a la persona=====") +soldado.atacar(campe) +soldado.atacar(campe) + +soldado.atacar(persona) + +print(campe.state()) +print(persona.state()) +