//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); }
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); }
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); }