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