Пример #1
0
        public override string ToString()
        {
            iAcciones = this;
            StringBuilder sb = new StringBuilder();

            sb.AppendLine($"Es un Lapiz");
            sb.AppendLine($"El color es: {this.iAcciones.Color}");
            sb.AppendLine($"El tamaño de mina es: {this.iAcciones.UnidadesDeEscritura}");

            return(sb.ToString());
        }
Пример #2
0
        EscrituraWrapper IAcciones.Escribir(string texto)
        {
            iAcciones = this;

            if (this.tamanioMina >= 0.1f * texto.Length)
            {
                this.tamanioMina -= 0.1f * texto.Length;
            }

            return(new EscrituraWrapper(texto, this.iAcciones.Color));
        }
        public void Procesar(IAcciones metodo, string origen)
        {
            Console.WriteLine("Texto de origen: " + origen);
            //métodos internos...

            //En algún momento llamo a uno o varios métodos de IAcciones
            metodo.Accion();

            //Pero el algoritmo está en TemplateMethod, y se aplican las pertitence acciones particulares según
            //la case que se instancie y se mande en metodo.

            return;
        }
Пример #4
0
        EscrituraWrapper IAcciones.Escribir(string texto)
        {
            iAcciones = this;
            string textoEscrito = "";

            for (int i = 0; i < texto.Length; i++)
            {
                if (iAcciones.UnidadesDeEscritura >= 0.1)
                {
                    iAcciones.UnidadesDeEscritura = (float)(iAcciones.UnidadesDeEscritura - 0.1);
                    textoEscrito += texto[i];
                }
            }
            return(new EscrituraWrapper(textoEscrito, iAcciones.Color));
        }
Пример #5
0
        EscrituraWrapper IAcciones.Escribir(string texto)
        {
            IAcciones = this;
            string textoRetorno = "";

            for (int i = 0; i < texto.Length; i++)
            {
                if (IAcciones.UnidadesDeEscritura >= 0.1f)
                {
                    IAcciones.UnidadesDeEscritura -= 0.1f;
                    textoRetorno += texto[i];
                }
            }
            return(new EscrituraWrapper(textoRetorno, IAcciones.Color));
        }
Пример #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Elija un método");
            //se indica por un switch y se crea
            int       i       = 1;
            IAcciones formato = null;

            switch (i)
            {
            case 1: formato = new InformarBD(); break;

            case 2: formato = new InformarExcel(); break;
            }

            formato.Accion();
        }
Пример #7
0
        static void Main(string[] args)
        {
            ConsoleColor     colorOriginal = Console.ForegroundColor;
            Lapiz            miLapiz       = new Lapiz(10);
            Boligrafo        miBoligrafo   = new Boligrafo(20, ConsoleColor.Green);
            IAcciones        iAcciones     = miLapiz;
            EscrituraWrapper eLapiz        = iAcciones.Escribir("Hola");

            Console.ForegroundColor = eLapiz.color;
            Console.WriteLine(eLapiz.texto);
            Console.ForegroundColor = colorOriginal;
            Console.WriteLine(miLapiz);
            EscrituraWrapper eBoligrafo = miBoligrafo.Escribir("Hola");

            Console.ForegroundColor = eBoligrafo.color;
            Console.WriteLine(eBoligrafo.texto);
            Console.ForegroundColor = colorOriginal;
            Console.WriteLine(miBoligrafo);
            Console.ReadKey();
        }
Пример #8
0
 bool IAcciones.Recargar(int unidades)
 {
     iAcciones = this;
     iAcciones.UnidadesDeEscritura = iAcciones.UnidadesDeEscritura + unidades;
     return(true);
 }
Пример #9
0
 public Lapiz(int unidades)
 {
     iAcciones = this;
     iAcciones.UnidadesDeEscritura = unidades;
 }
Пример #10
0
        static void Main(string[] args)
        {
            Invocador             invocador = new Invocador();
            ReceiverPersonaje     personaje = null;
            AdministradorAcciones administradorAcciones;

            string menuJuego;

            ConsoleKeyInfo k1;
            ConsoleKeyInfo k2;

            do
            {
                Console.WriteLine("-- MENÚ --\n\nA. Jugar  X. Salir");

                k1 = Console.ReadKey();
                if (k1.Key == ConsoleKey.A)
                {
                    personaje = SeleccionarTipoPersonaje();

                    if (personaje != null)
                    {
                        Console.Clear();
                        administradorAcciones = IniciarPersonaje(personaje);

                        do
                        {
                            menuJuego = GenerarMenuAcciones(administradorAcciones.dicAcciones);
                            Console.WriteLine(menuJuego);
                            k2 = Console.ReadKey();

                            IAcciones accion = administradorAcciones.ObtenerAccion(k2.KeyChar.ToString());
                            if (accion != null)
                            {
                                // ** Ejecución de comandos normales
                                invocador.EstablecerComando(accion);
                                invocador.EjecutarAccion();

                                // ** Detección de comandos Especiales
                                if (accion == administradorAcciones.ObtenerAccion("1"))
                                {
                                    administradorAcciones.AgegarComando(new string[] { "Q", "Disparar Lanzagranadas" }, new AccionDispararLanzagranadas(personaje));
                                    administradorAcciones.RemoverComando("1");
                                }
                                if (accion == administradorAcciones.ObtenerAccion("2"))
                                {
                                    administradorAcciones.AgegarComando(new string[] { "W", "Disparar Rifle de Plasma" }, new AccionDispararRifle(personaje));
                                    administradorAcciones.RemoverComando("2");
                                }
                            }
                            else
                            {
                                Console.WriteLine("...\n");
                            }
                        } while (k2.Key != ConsoleKey.X);
                        Console.Clear();
                    }
                    Console.Clear();
                }
            } while (k1.Key != ConsoleKey.X);
        }
Пример #11
0
 public ElPardoController(IAcciones acciones)
 {
     _acciones = acciones;
 }
Пример #12
0
 public override string ToString()
 {
     IAcciones = this;
     return(string.Format("Lapiz Color: {0} Tinta: {1:0.00}", IAcciones.Color, IAcciones.UnidadesDeEscritura));
 }
Пример #13
0
 bool IAcciones.Recargar(int unidades)
 {
     iAcciones = this;
     throw new NotImplementedException();
 }
 public void AgegarComando(string[] nAccion, IAcciones accion)
 {
     dicAcciones.Add(nAccion, accion);
 }
Пример #15
0
 public override string ToString()
 {
     iAcciones = this;
     return(String.Format("Lapiz, Color: {0}, Nivel de tinta: {1}", iAcciones.Color, iAcciones.UnidadesDeEscritura));
 }
Пример #16
0
 public AccionesController(IAcciones _Context)
 {
     Context = _Context;
 }
Пример #17
0
 public void EstablecerComando(IAcciones acciones)
 {
     this.acciones = acciones;
 }