示例#1
0
        string[] PosicionesComibles()
        {
            string mov1 = null;
            string mov2 = null;

            if (this.ColorPieza == color.Claro)
            {
                mov1 = Movimiento(this.casillaActual, 1, 1);
                mov2 = Movimiento(this.casillaActual, 1, -1);
            }
            else               //Oscuro
            {
                mov1 = Movimiento(this.casillaActual, -1, -1);
                mov2 = Movimiento(this.casillaActual, -1, 1);
            }
            List <string> posComi = new List <string> ();
            Casilla       cas1    = null;
            Casilla       cas2    = null;

            if (Ajedrez.ValidarCasilla(mov1))
            {
                cas1 = Ajedrez.BuscarCasilla(mov1);
                if (cas1.Ocupada)
                {
                    if (cas1.pieza.ColorPieza != this.ColorPieza)
                    {
                        posComi.Add(cas1.nombre);
                    }
                }
            }
            if (Ajedrez.ValidarCasilla(mov2))
            {
                cas2 = Ajedrez.BuscarCasilla(mov2);
                if (cas2.Ocupada)
                {
                    if (cas2.pieza.ColorPieza != this.ColorPieza)
                    {
                        posComi.Add(cas2.nombre);
                    }
                }
            }

            //string[] val = null;
            if (posComi != null)
            {
                //val = Ajedrez.ValidadCasillas(posComi.ToArray());
                CasComi = true;
            }
            return(posComi.ToArray());
        }
示例#2
0
        public Casilla[] Posibles()
        {
            string[] CasillasAmenazadas = new string[8];

            string casillaAcual = this.casillaActual;

            string[] frente = Repetir(2, casillaAcual, "Frente");
            CasillasAmenazadas[0] = Repetir(1, frente[1], "Derecha") [0];
            CasillasAmenazadas[1] = Repetir(1, frente[1], "Izquierda") [0];

            string[] atras = Repetir(2, casillaAcual, "Atras");
            CasillasAmenazadas[2] = Repetir(1, atras[1], "Izquierda") [0];
            CasillasAmenazadas[3] = Repetir(1, atras[1], "Derecha") [0];

            string[] izq = Repetir(2, casillaAcual, "Izquierda");
            CasillasAmenazadas[4] = Repetir(1, izq[1], "Frente") [0];
            CasillasAmenazadas[5] = Repetir(1, izq[1], "Atras") [0];

            string[] der = Repetir(2, casillaAcual, "Derecha");
            CasillasAmenazadas[6] = Repetir(1, der[1], "Frente") [0];
            CasillasAmenazadas[7] = Repetir(1, der[1], "Atras") [0];

            List <string> posiciones = new List <string> ();

            for (int i = 0; i < CasillasAmenazadas.Length; i++)
            {
                if (Ajedrez.ValidarCasilla(CasillasAmenazadas[i]))
                {
                    posiciones.Add(CasillasAmenazadas[i]);
                }
            }
            string[]  posicionesposibles = posiciones.ToArray();
            Casilla[] cass = Ajedrez.BuscarCasillas(posicionesposibles);

            cass = Ajedrez.CacillaOcupada(this, cass);
            return(cass);
        }