Exemple #1
0
 public ComandoMover(Pieza p, Coordenada PosInicial, Coordenada PosFinal, Pieza[,] Tablero, List <Coordenada> ListaBlanco, List <Coordenada> ListaNegros)
 {
     this.p          = p;
     this.PosInicial = PosInicial;
     this.PosFinal   = PosFinal;
     this.Tablero    = Tablero;
     p.CalcularMovimientos(Tablero, PosInicial, ListaBlanco, ListaNegros, p.Color);
     ListaMovBlancos = ListaBlanco;
     ListaMovNegros  = ListaNegros;
 }
Exemple #2
0
        } //Crear un array normal de piezas

        static void CrearTableroLeyendo()
        {
            for (int f = 0; f < 8; f++)
            {
                for (int c = 0; c < 8; c++)
                {
                    Tablero[f, c] = new PiezaVacia();
                }
            }

            foreach (string s in Text)
            {
                Pieza p = null;
                int   x = new int();
                int   y = new int();

                if (s[0] == 'R')
                {
                    p = new Rey();
                }
                else if (s[0] == 'A')
                {
                    p = new Alfil();
                }
                else if (s[0] == 'C')
                {
                    p = new Caballo();
                }
                else if (s[0] == 'r')
                {
                    p = new Reina();
                }
                else if (s[0] == 'P')
                {
                    p = new Peon();
                }
                else if (s[0] == 'T')
                {
                    p = new Torre();
                }
                else if (s[0] == '*')
                {
                    p = new PiezaVacia();
                }

                char n = s[1];

                if (n == 'a')
                {
                    x = 0;
                }
                else if (n == 'b')
                {
                    x = 1;
                }
                else if (n == 'c')
                {
                    x = 2;
                }
                else if (n == 'd')
                {
                    x = 3;
                }
                else if (n == 'e')
                {
                    x = 4;
                }
                else if (n == 'f')
                {
                    x = 5;
                }
                else if (n == 'g')
                {
                    x = 6;
                }
                else if (n == 'h')
                {
                    x = 7;
                }

                if (s[2] == '1')
                {
                    y = 0;
                }
                else if (s[2] == '2')
                {
                    y = 1;
                }
                else if (s[2] == '3')
                {
                    y = 2;
                }
                else if (s[2] == '4')
                {
                    y = 3;
                }
                else if (s[2] == '5')
                {
                    y = 4;
                }
                else if (s[2] == '6')
                {
                    y = 5;
                }
                else if (s[2] == '7')
                {
                    y = 6;
                }
                else if (s[2] == '8')
                {
                    y = 7;
                }

                p.Color       = s[3];
                p.Posicion    = new Coordenada(x, y);
                Tablero[x, y] = p;
            }
        }
Exemple #3
0
        //Aca empieza el bardo
        static void PonerPieza()
        {
            Pieza Pieza = null; //Crea una pieza y la setea como null para despues asignarle la clase que el jugador elija

            Console.WriteLine();
            Console.WriteLine("Qué Pieza Quiere Poner? 'T'(Torre) / 'R' (Rey) / 'A' (Alfil) / 'h' (Reina) / 'C' (Caballo) / 'P' (Peon) ");
            char Opcion = char.Parse(Console.ReadLine());

            if (Opcion == 't' || Opcion == 'T')
            {
                Pieza = new Torre();
            }
            else if (Opcion == 'r' || Opcion == 'R')
            {
                Pieza = new Rey();
            }
            else if (Opcion == 'a' || Opcion == 'A')
            {
                Pieza = new Alfil();
            }
            else if (Opcion == 'h' || Opcion == 'H')
            {
                Pieza = new Reina();
            }
            else if (Opcion == 'c' || Opcion == 'C')
            {
                Pieza = new Caballo();
            }
            else if (Opcion == 'p' || Opcion == 'P')
            {
                Pieza = new Peon();
            }
            //Segun la letra ingresada es una clase u otra

            //Lo mismo con el color
            Console.WriteLine("De que color? 'B' (Blanca) / 'N' (Negra)");
            char OpcionC = char.Parse(Console.ReadLine());

            if (OpcionC == 'b' || OpcionC == 'B')
            {
                Pieza.Color = 'B';
            }
            else if (OpcionC == 'n' || OpcionC == 'N')
            {
                Pieza.Color = 'N';
            }

            //La funcion ObtenerCoordenadas esta arriba comentada, la pieza creada obtiene su posicion de esta funcion
            Pieza.Posicion = ObtenerCoordenadas();

            //Estos son los 3 casos posibles (la posicion esta ocupada por una pieza de tu color, por una de otro color o por nadie)
            if (Tablero[Pieza.Posicion.X, Pieza.Posicion.Y] is PiezaVacia)
            {
                Tablero[Pieza.Posicion.X, Pieza.Posicion.Y].Img = Pieza.Img;                                            //Se muestra en el tablero donde pusiste la pieza
                Pieza.CalcularMovimientos(Tablero, Pieza.Posicion, MovPosiblesBlancos, MovPosiblesNegros, Pieza.Color); //Se calculan los mov de esta
                Console.ReadKey();
            }
            else if (Tablero[Pieza.Posicion.X, Pieza.Posicion.Y].Color == Pieza.Color)
            {
                //No pasa nada
                Console.WriteLine("El Casillero esta ocupado por una pieza de tu color");
                Console.ReadKey();
            }
            else if (Tablero[Pieza.Posicion.X, Pieza.Posicion.Y].Color != Pieza.Color)
            {
                //Hace lo mismo que la primer condicion pero te tira un mensaje
                Console.WriteLine("Comiste una pieza de otro color");
                Console.ReadKey();
                Pieza.CalcularMovimientos(Tablero, Pieza.Posicion, MovPosiblesBlancos, MovPosiblesNegros, Pieza.Color);
                Tablero[Pieza.Posicion.X, Pieza.Posicion.Y] = Pieza;
            }
        }