/* Agregamos el metodo RecibirAtaque para restar el daño, teniendo en cuenta la defensa y calcular la vida del personaje. Esto fue posible gracias a la interfaz IPersonaje. * Usamos nuevamente polimorfismo. */ public void RecibirAtaque(IPersonaje enemy) { int attack = enemy.CalcularAtaqueTotal() - this.CalcularDefensaTotal(); int damage = attack > 0 ? attack : 0; this.Vida -= damage; }
public void CrearFranceses() { factory = new FrancesesFactory(); IPersonaje personaje = factory.CrearPersonaje(); IArma arma = factory.CrearArma(); Assert.IsTrue(personaje is PersonajeFrances); Assert.IsTrue(arma is ArmaPolea); Assert.AreEqual("Rolo luchando por Paris", personaje.Luchar()); Assert.AreEqual("Arrojando catapulta", arma.Accionar()); }
public void CrearEscandinavos() { factory = new EscandinavosFactory(); IPersonaje personaje = factory.CrearPersonaje(); IArma arma = factory.CrearArma(); Assert.IsTrue(personaje is PersonajeVikingo); Assert.IsTrue(arma is ArmaHacha); Assert.AreEqual("Ivar luchando por Categat", personaje.Luchar()); Assert.AreEqual("Luchando con Hacha", arma.Accionar()); }
public void IniciarJuego() { Console.Write("Bienvenido a GoLIT! Por favor, ingrese su nombre:"); string nombre = Console.ReadLine(); Console.Write($"Elija el personaje que asigna a {nombre} (A:Aprendiz/M:Mago/H:Hechicera): "); string tipo = Console.ReadLine(); _personaje = tipo == "A" ? PersonajeFactory.CrearPersonaje((TipoDePersonaje)1, nombre) : tipo == "H" ? PersonajeFactory.CrearPersonaje((TipoDePersonaje)2, nombre) : PersonajeFactory.CrearPersonaje((TipoDePersonaje)3, nombre); }
static void Main(string[] args) { // 4. Instancio clases villano y guerrero z, asi como invocacion d enuevo personaje Villano Freezer = new Villano(); GuerreroZ Goku = new GuerreroZ(); Freezer.atacar(); Goku.atacar(); Freezer.defender(); Goku.defender(); Console.WriteLine("Poder de Villano: " + Freezer.poder); Console.WriteLine("Poder de GuerreroZ: " + Goku.poder); IPersonaje nuevoPersonaje = invocarPersonaje(); nuevoPersonaje.atacar(); nuevoPersonaje.defender(); }
public static IPersonaje CrearPersonaje(TipoDePersonaje personaje, string nombre) { IPersonaje obj = null; switch (personaje) { case TipoDePersonaje.Aprendiz: if (_aprendiz == null) { _aprendiz = new Aprendiz(nombre); } obj = _aprendiz; break; case TipoDePersonaje.Hechicera: if (_hechicera == null) { _hechicera = new Hechicera(nombre); } obj = _hechicera; break; case TipoDePersonaje.Mago: if (_mago == null) { _mago = new Mago(nombre); } obj = _mago; break; } return(obj); }
public void AsignarComando(IPersonaje personaje, Guerrero guerrero) { this._personaje = personaje; this._guerrero = guerrero; }
public bool Disparar(IPersonaje personaje) { Console.WriteLine(personaje.Nombre, "esta disparando"); return(true); }
public bool Golpear(IPersonaje personaje) { Console.WriteLine("{0} esta golpeando", personaje.Nombre); return(true); }
public bool Disparar(IPersonaje personaje) { Console.WriteLine("{0} esta golpeando, poom!!", personaje.Nombre); return(true); }
public void ConsolePrint(IPersonaje personaje) { Console.WriteLine(personaje.GetTextToPrint()); }
public ServicioPersonaje(IPersonaje repositorio) { _repositorio = repositorio; }
public Lucha(IPersonaje p1, IPersonaje p2) { personaje1 = p1; personaje2 = p2; }