public override bool esValidaLaNuevaPosicion(Pieza pieza, Posicion nuevaPosicion, Tablero tablero) { bool esUnMovimientoValido = false; if (nuevaPosicion.obtenerX() == pieza.obtenerX() + 1 && (nuevaPosicion.obtenerY() == pieza.obtenerY() + 2 || nuevaPosicion.obtenerY() == pieza.obtenerY() - 2)) { esUnMovimientoValido = true; } else if (nuevaPosicion.obtenerX() == pieza.obtenerX() - 1 && (nuevaPosicion.obtenerY() == pieza.obtenerY() + 2 || nuevaPosicion.obtenerY() == pieza.obtenerY() - 2)) { esUnMovimientoValido = true; } else if (nuevaPosicion.obtenerX() == pieza.obtenerX() + 2 && (nuevaPosicion.obtenerY() == pieza.obtenerY() + 1 || nuevaPosicion.obtenerY() == pieza.obtenerY() - 1)) { esUnMovimientoValido = true; } else if (nuevaPosicion.obtenerX() == pieza.obtenerX() - 2 && (nuevaPosicion.obtenerY() == pieza.obtenerY() + 1 || nuevaPosicion.obtenerY() == pieza.obtenerY() - 1)) { esUnMovimientoValido = true; } return(esUnMovimientoValido && (pieza.obtenerColor() != tablero.piezaEn(nuevaPosicion).obtenerColor())); }
public void resaltarPiezaBox() { if (piezaBox.Image != null && pieza.obtenerColor() != "") { piezaBox.Tag = Color.Black; piezaBox.Refresh(); } }
public override bool esValidaLaNuevaPosicion(Pieza pieza, Posicion nuevaPosicion, Tablero tablero) { bool esYValido = false; bool esXValido = false; string colorPiezaEnNuevaPosicion = tablero.piezaEn(nuevaPosicion).obtenerColor(); if (pieza.obtenerColor() == "Blanco") { if (nuevaPosicion.obtenerY() == pieza.obtenerY() + 1) { esYValido = true; } if ((nuevaPosicion.obtenerX() == pieza.obtenerX() && colorPiezaEnNuevaPosicion == "") || (colorPiezaEnNuevaPosicion == "Negro" && Math.Abs(nuevaPosicion.obtenerX() - pieza.obtenerX()) == 1)) { esXValido = true; } if (nuevaPosicion.obtenerX() == pieza.obtenerX() && nuevaPosicion.obtenerY() == pieza.obtenerY() + 2 && pieza.obtenerY() == 1 && tablero.piezaEn(new Posicion(pieza.obtenerX(), 2)).obtenerColor() == "") { esYValido = true; esXValido = true; } } else if (pieza.obtenerColor() == "Negro") { if (nuevaPosicion.obtenerY() == pieza.obtenerY() - 1) { esYValido = true; } if ((nuevaPosicion.obtenerX() == pieza.obtenerX() && colorPiezaEnNuevaPosicion == "") || (colorPiezaEnNuevaPosicion == "Blanco" && Math.Abs(nuevaPosicion.obtenerX() - pieza.obtenerX()) == 1)) { esXValido = true; } if (nuevaPosicion.obtenerX() == pieza.obtenerX() && nuevaPosicion.obtenerY() == pieza.obtenerY() - 2 && pieza.obtenerY() == 6 && tablero.piezaEn(new Posicion(pieza.obtenerX(), 5)).obtenerColor() == "") { esYValido = true; esXValido = true; } } return(esXValido && esYValido && (pieza.obtenerColor() != tablero.piezaEn(nuevaPosicion).obtenerColor())); }
public void coronar(Pieza piezaACoronar) { cargarImagenesDeBotones(piezaACoronar.obtenerColor()); revelarBotones(); this.piezaACoronar = piezaACoronar; }