Example #1
0
        static void Main(string[] args)
        {
            IVisitor   bullet = new TankBullet();
            ILightUnit light  = new Marine();

            light.Accept(bullet);

            Console.WriteLine($"Marine health - {light.Health}");

            IVisitor     tankBullet = new TankBullet();
            IArmoredUnit armored    = new Marauder();

            armored.Accept(bullet);

            Console.WriteLine($"Marauder health - {armored.Health}");

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            int      Healt_marine   = 0;
            int      Healt_marauder = 0;
            Ivisitor _Bullet;


            Console.Clear();
            ConsoleKeyInfo op;

            do
            {
                //Limpiar la pantalla
                Console.WriteLine("");
                Console.WriteLine("Menú - Patrón Visitor");
                Console.WriteLine("");
                Console.WriteLine("");
                Console.WriteLine("Que desea realizar.");
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine("[A] - Ataque Marine");
                Console.WriteLine("[E] - Ataque Marauder ");
                Console.WriteLine("[Esc]Salirtnn");
                Console.ForegroundColor = ConsoleColor.White;
                Console.WriteLine("Seleccione opcion...");
                op = Console.ReadKey(true);


                switch (op.Key)
                {
                case ConsoleKey.A:
                    Console.WriteLine("Ud seleccionó la opción [Ataque Marine]");
                    Console.Write("Presione una tecla para continuar...");
                    Console.ReadKey();


                    _Bullet = new  TankBullet();
                    ILightUnit _marine = new Marine();
                    if (Healt_marine != 0)
                    {
                        _marine.Health = Healt_marine;
                    }
                    _marine.Accept(_Bullet);
                    Console.Write("El ataque fue de " + variables.Ataque_Marine + " puntos  negativos | Marine queda con un total de " + _marine.Health + " puntos");
                    Healt_marine = _marine.Health;

                    break;

                case ConsoleKey.E:

                    Console.WriteLine("Ud seleccionó la opción [Ataque Marauder]");
                    Console.Write("Presione una tecla para continuar...");
                    Console.ReadKey();

                    _Bullet = new TankBullet();
                    IArmoredUnit _marauder = new Marauder();
                    if (Healt_marauder != 0)
                    {
                        _marauder.Health = Healt_marauder;
                    }
                    _marauder.Accept(_Bullet);
                    Console.Write("El ataque fue de " + variables.Ataque_Marauder + " puntos  negativos | Marauder queda con un total de " + _marauder.Health + " puntos");
                    Healt_marauder = _marauder.Health;

                    break;

                case ConsoleKey.Escape:
                    Console.WriteLine("Chao");

                    break;
                }
            } while (op.Key != ConsoleKey.Escape);

            Console.WriteLine("Hello World!");
        }