예제 #1
0
        public override bool moverse(Mapa mapa, int[] pos2)
        {
            if (pos2[0] < 1 || pos2[1] < 1 || mapa.matrizAerea[pos2[0] - 1, pos2[1] - 1] is Unidad)
            {

                Console.SetCursorPosition(0, 27);
                return false;
                //Console.WriteLine("No puede moverse a un espacio ocupado");
            }
            else
            {
                if (this.combustible < this.CombustiblePorUnidad)
                {
                    if (this.tiempoRestante == 1)
                    {
                        this.tiempoRestante = 0;
                        this.combustible = this.capacidadEstanque*1;
                        return true;
                    }
                    else
                    {
                        this.tiempoRestante -= 1;
                    }
                }
                this.combustible -= this.CombustiblePorUnidad;
                Console.BackgroundColor = ConsoleColor.DarkGreen;
                var a = mapa.eliminarAereo(this.posicion);
                mapa.agregarAereo(pos2, a);

                Console.ForegroundColor = ConsoleColor.Black;
                Console.SetCursorPosition(this.posicion[0],this.posicion[1]);
                if (mapa.entregarElemento(this.posicion[0], this.posicion[1], Tipo.terrestre) is Unidad)
                {
                    if (mapa.entregarElemento(this.posicion[0], this.posicion[1], Tipo.terrestre).bandera == bandos.azul)
                    {
                        Console.ForegroundColor = ConsoleColor.Blue;
                    }
                    else
                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                    }
                }
                Console.Write(mapa.entregaricono(this.posicion[0], this.posicion[1]));

                if (bandera == bandos.azul)
                {
                    Console.ForegroundColor = ConsoleColor.Blue;
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                }
                Console.SetCursorPosition(pos2[0], pos2[1]);
                Console.Write(this.icono);
                this.posicion = pos2;
                return true;
            }
        }
예제 #2
0
        //Por defecto para terrestres
        public virtual bool moverse(Mapa mapa, int[] pos2)
        {
            if (pos2[0] < 1 || pos2[1] < 1 || mapa.matrizTerrestre[pos2[0] - 1, pos2[1] - 1] is Unidad)
            {
                Console.SetCursorPosition(0, 29);

                return false;
               //Console.WriteLine("No puede moverse a un espacio ocupado");
            }
            else
            {

                Console.BackgroundColor = ConsoleColor.DarkGreen;
                var a = mapa.eliminarTerrestre(this.posicion);
                mapa.agregarTerrestre(pos2, a);

                Console.ForegroundColor = ConsoleColor.Black;
                Console.SetCursorPosition(this.posicion[0], this.posicion[1]);
                if (mapa.entregarElemento(this.posicion[0], this.posicion[1], Tipo.aereo) is Unidad)
                {
                    if (mapa.entregarElemento(this.posicion[0], this.posicion[1], Tipo.aereo).bandera == bandos.azul)
                    {
                        Console.ForegroundColor = ConsoleColor.Blue;
                    }
                    else

                    {
                        Console.ForegroundColor = ConsoleColor.Red;
                    }
                }
                Console.Write(mapa.entregaricono(this.posicion[0], this.posicion[1]));

                if (bandera == bandos.azul)
                {
                    Console.ForegroundColor = ConsoleColor.Blue;
                }
                else
                {
                    Console.ForegroundColor = ConsoleColor.Red;
                }
                Console.SetCursorPosition(pos2[0], pos2[1]);

                Console.Write(this.icono);
                this.posicion = pos2;
                return true;
            }
        }