Exemplo n.º 1
0
        static void Main(string[] args)
        {
            Guerrero guerrero = new Guerrero();
            Mago     mago     = new Mago();

            Console.WriteLine("====================");
            Console.ReadLine();

            guerrero.Atacar();
            mago.Atacar();
            Console.WriteLine("====================");
            Console.ReadLine();

            List <IPersonaje> personajes = new List <IPersonaje>();

            personajes.Add(guerrero);
            personajes.Add(mago);

            IVisitorPersonaje visitor = new EquiparArmaVisitor();

            visitor.visit(personajes);
            Console.WriteLine("====================");
            Console.ReadLine();

            guerrero.Atacar();
            mago.Atacar();
            Console.WriteLine("====================");
            Console.ReadLine();

            guerrero.Nivel = 5;
            mago.Nivel     = 5;
            Console.WriteLine("Guerrero y Mago suben a nivel 5");
            Console.WriteLine("====================");
            Console.ReadLine();

            visitor.visit(personajes);
            Console.WriteLine("====================");
            Console.ReadLine();

            guerrero.Atacar();
            mago.Atacar();
            Console.WriteLine("====================");
            Console.ReadLine();

            mago.Nivel = 10;
            Console.WriteLine("Mago sube a nivel 10");
            Console.WriteLine("====================");
            Console.ReadLine();

            visitor.visit(personajes);
            Console.WriteLine("====================");
            Console.ReadLine();

            guerrero.Atacar();
            mago.Atacar();
            Console.WriteLine("====================");
            Console.ReadLine();
        }
Exemplo n.º 2
0
        public void Personajes_Muertos_No_Pueden_Atacar()
        {
            // ARRANGE
            Guerrero guerrero1 = new Guerrero();
            Guerrero guerrero2 = new Guerrero();

            // ACT
            guerrero1.Vida   = 0;
            guerrero1.Fuerza = 20;
            guerrero1.Atacar(guerrero2, guerrero1.Fuerza);

            // ASSERT
            Assert.AreEqual(100, guerrero2.Vida);
        }
Exemplo n.º 3
0
        public void Guerreros_Recuperan_Vida_5_PorCiento_Danyo_Producido_Al_Atacar()
        {
            // ARRANGE
            Guerrero guerrero1 = new Guerrero();
            Guerrero guerrero2 = new Guerrero();

            // ACT
            guerrero1.Vida   = 70;
            guerrero1.Fuerza = 20;
            guerrero1.Atacar(guerrero2, guerrero1.Fuerza);

            // ASSERT
            Assert.AreEqual(74, guerrero1.Vida);
        }
Exemplo n.º 4
0
        public void Personaje_Solo_Puede_Atacar_A_Otro_Dentro_De_Su_Rango_De_Ataque()
        {
            // ARRANGE
            Guerrero guerrero1 = new Guerrero();
            Guerrero guerrero2 = new Guerrero();

            // ACT
            guerrero1.Rango  = 10;
            guerrero1.Fuerza = 20;
            Posicion posicion = new Posicion();

            posicion.CoordenadaX = 8;
            posicion.CoordenadaZ = 10;
            guerrero2.Posicion   = posicion;
            guerrero1.Atacar(guerrero2, guerrero1.Fuerza);

            // ASSERT
            Assert.AreEqual(100, guerrero2.Vida);
        }