Пример #1
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;
            }
        }
Пример #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;
            }
        }
Пример #3
0
        static void CrearTablero()
        {
            for (int f = 0; f < 8; f++)
            {
                for (int c = 0; c < 8; c++)
                {
                    Tablero[f, c] = new PiezaVacia();
                }
            }

            for (int i = 0; i < 8; i++)
            {
                Tablero[1, i]       = new Peon();
                Tablero[1, i].Color = 'N';

                Tablero[6, i]       = new Peon();
                Tablero[6, i].Color = 'B';
            } //Peones

            Tablero[0, 0]       = new Torre();
            Tablero[0, 0].Color = 'N';
            Tablero[0, 7]       = Tablero[0, 0];

            Tablero[7, 0]       = new Torre();
            Tablero[7, 0].Color = 'B';
            Tablero[7, 7]       = Tablero[7, 0];

            Tablero[0, 6]       = new Caballo();
            Tablero[0, 6].Color = 'N';
            Tablero[0, 1]       = Tablero[0, 6];

            Tablero[7, 6]       = new Caballo();
            Tablero[7, 6].Color = 'B';
            Tablero[7, 1]       = Tablero[7, 6];

            Tablero[0, 5]       = new Alfil();
            Tablero[0, 5].Color = 'N';
            Tablero[0, 2]       = Tablero[0, 5];

            Tablero[7, 5]       = new Alfil();
            Tablero[7, 5].Color = 'B';
            Tablero[7, 2]       = Tablero[7, 5];

            Tablero[0, 4]       = new Reina();
            Tablero[0, 4].Color = 'N';
            Tablero[0, 3]       = new Rey();
            Tablero[0, 3].Color = 'N';

            Tablero[7, 3]       = new Reina();
            Tablero[7, 3].Color = 'B';
            Tablero[7, 4]       = new Rey();
            Tablero[7, 4].Color = 'B';

            for (int f = 0; f < 8; f++)
            {
                for (int c = 0; c < 8; c++)
                {
                    Tablero[f, c].Posicion = new Coordenada(f, c);
                }
            }
        } //Crear un array normal de piezas