Esempio n. 1
0
    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()));
    }
Esempio n. 2
0
 public void resaltarPiezaBox()
 {
     if (piezaBox.Image != null && pieza.obtenerColor() != "")
     {
         piezaBox.Tag = Color.Black;
         piezaBox.Refresh();
     }
 }
Esempio n. 3
0
    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;
 }