Esempio n. 1
0
        //Devuelve las posiciones posibles del rey validadas y si no estan ocupadas
        Casilla[] Posiciones()
        {
            string casillaAct = this.casillaActual;

            string[] pos = new string[8];
            pos[0] = Movimiento(casillaAct, 1, 1);
            pos[1] = Movimiento(casillaAct, 1, 0);
            pos[2] = Movimiento(casillaAct, 0, 1);
            pos[3] = Movimiento(casillaAct, -1, -1);
            pos[4] = Movimiento(casillaAct, -1, 0);
            pos[5] = Movimiento(casillaAct, 0, -1);
            pos[6] = Movimiento(casillaAct, 1, -1);
            pos[7] = Movimiento(casillaAct, -1, 1);

            pos = Ajedrez.ValidadCasillas(pos);
            Casilla[] cass = Ajedrez.BuscarCasillas(pos);
            cass = Ajedrez.CacillaOcupada(this, cass);

            return(cass);
        }
Esempio n. 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);
        }
Esempio n. 3
0
        Juego.Casilla[] Posiciones()
        {
            string[] CasillasPosibles  = new string[1];
            string[] CasillaAmenazada1 = new string[1];
            string[] CasillaAmenazada2 = new string[1];
            string   casillaAcual      = this.casillaActual;

            //Movimientos Marcables Normales
            if (this.ColorPieza == color.Claro)
            {
                if (this.casilla == posInicial)
                {
                    //Posibles movimientos
                    //Dos pasos
                    CasillasPosibles = Repetir(2, casillaAcual, "Frente");
                    CasillasPosibles = Ajedrez.CasillasHasta(this, CasillasPosibles);
                }
                else
                {
                    CasillasPosibles = Repetir(1, casillaAcual, "Frente");
                    Casilla[] cas = Ajedrez.BuscarCasillas(CasillasPosibles);
                    cas[0].marcar = false;
                    casNoMarcables.Add(cas[0]);
                }
            }
            else
            {
                if (this.casilla == posInicial)
                {
                    //Posibles movimientos
                    //Dos pasos
                    CasillasPosibles = Repetir(2, casillaAcual, "Atras");
                    CasillasPosibles = Ajedrez.CasillasHasta(this, CasillasPosibles);
                }
                else
                {
                    CasillasPosibles = Repetir(1, casillaAcual, "Atras");
                    Casilla[] cas = Ajedrez.BuscarCasillas(CasillasPosibles);
                    cas[0].marcar = false;
                    casNoMarcables.Add(cas[0]);
                }
            }

            string[]      comibles   = PosicionesComibles();
            List <string> posiciones = new List <string> ();

            if (CasComi && comibles != null)
            {
                posiciones.AddRange(CasillasPosibles);
                posiciones.AddRange(comibles);
            }
            else
            {
                posiciones.AddRange(CasillasPosibles);
            }

            //posiciones.AddRange (CasillaAmenazada1);
            //posiciones.AddRange (CasillaAmenazada2);

            string[] posicionesposibles = posiciones.ToArray();
            posicionesposibles = Ajedrez.ValidadCasillas(posicionesposibles);
            Casilla[] cass = Ajedrez.BuscarCasillas(posicionesposibles);
            cass = Ajedrez.CacillaOcupada(this, cass);

            return(cass);
        }