// Metodo que recibe una cadena que describe el tipo de personaje y devuelve un obejeto private Personaje crearPersonaje(string TipoPersonaje, ConstructorTablero.LadoTablero ladoTablero) { int img; bool lado = ladoTablero == ConstructorTablero.LadoTablero.derecha ^ anfitrion; Personaje personaje; switch (TipoPersonaje) { case "Arquero": img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_Arquero_Derecha : grafico.idImagen_Arquero_Izquierda; personaje = new Arquero(img, lado); break; case "Caballero": img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_Caballero_Derecha : grafico.idImagen_Caballero_Izquierda; personaje = new Caballero(img, lado); break; case "Mago": img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_Mago_Derecha : grafico.idImagen_Mago_Izquierda; personaje = new Mago(img, lado); break; case "Ninja": img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_Ninja_Derecha : grafico.idImagen_Ninja_Izquierda; personaje = new Ninja(img, lado, ladoTablero); break; case "Paladin Espada": img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_PaladinEspada_Derecha : grafico.idImagen_PaladinEspada_Izquierda; personaje = new Paladin_Espada(img, lado); break; case "Paladin Lanza": img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_PaladinLanza_Derecha : grafico.idImagen_PaladinLanza_Izquierda; personaje = new Paladin_Lanza(img, lado); break; case "Paladin Mazo": img = ladoTablero == ConstructorTablero.LadoTablero.derecha ? grafico.idImagen_PaladinMazo_Derecha : grafico.idImagen_PaladinMazo_Izquierda; personaje = new Paladin_Mazo(img, lado); break; default: throw new Exception("El tipo de personaje no existe"); } return(personaje); }
public bool Atacar(Caballero personaje) { Console.WriteLine("El personaje {0}, ha realizado la tecnica {1}", personaje.Nombre, personaje.Tecnica); return(true); }
public void HacerLaTecnica(Caballero personaje) { tecnica.Atacar(personaje); }
static void Main(string[] args) { var opcion = 0; var fr = new NinjectFr(); fr.Load(); var kernel = new StandardKernel(fr); var ataqueJugador = kernel.Get <Game>(); while (opcion != 5) { Console.WriteLine("Ejercicio de Inyeccion de dependencias con Ninjectic"); Console.WriteLine("Elije un personaje"); Console.WriteLine("1) Mu de Aries"); Console.WriteLine("2) Shura de Capricornio"); Console.WriteLine("3) Saga de Géminis"); Console.WriteLine("4) Máscara de muerte de Cáncer"); Console.WriteLine("5) Camus de Acuario"); opcion = int.Parse(Console.ReadLine()); switch (opcion) { case 1: Console.WriteLine("Haz elejido al caballero Mu de Aries"); Caballero mu = new Caballero("Mu de Aries", "Revolucion Estelar"); ataqueJugador.HacerLaTecnica(mu); break; case 2: Console.WriteLine("Haz elejido al caballero Shura de Capricornio"); Caballero shura = new Caballero("Shura de Capricornio", "Espada Sagrada Excalibur"); ataqueJugador.HacerLaTecnica(shura); break; case 3: Console.WriteLine("Haz elejido al caballero Saga de Géminis"); Caballero saga = new Caballero("Saga de Géminis", "Explosion de Galaxias"); ataqueJugador.HacerLaTecnica(saga); break; case 4: Console.WriteLine("Haz elejido al caballero Mascara de muerte de Cancer"); Caballero deadthMask = new Caballero("Mascara de muerte de Cancer", "Ondas Infernales"); ataqueJugador.HacerLaTecnica(deadthMask); break; case 5: Console.WriteLine("Haz elejido al caballero Camus de Acuario"); Caballero camus = new Caballero("Camus de Acuario", "Ejecución de Aurora"); ataqueJugador.HacerLaTecnica(camus); break; } } }