Exemple #1
0
        public Tablero()
        {
            for (int c = 0; c < 8; c++)
            {
                nuevaPieza[1, c] = new Peon("B");
                nuevaPieza[6, c] = new Peon("N");
            }

            for (int f = 2; f < 6; f++)
            {
                for (int c = 0; c < 8; c++)
                {
                    nuevaPieza[f, c] = new Piezas("V");
                }
            }

            nuevaPieza[0, 0] = new Torre("B");
            nuevaPieza[0, 7] = new Torre("B");
            nuevaPieza[7, 0] = new Torre("N");
            nuevaPieza[7, 7] = new Torre("N");

            nuevaPieza[0, 1] = new Caballo("B");
            nuevaPieza[0, 6] = new Caballo("B");
            nuevaPieza[7, 1] = new Caballo("N");
            nuevaPieza[7, 6] = new Caballo("N");

            nuevaPieza[0, 2] = new Alfil("B");
            nuevaPieza[0, 5] = new Alfil("B");
            nuevaPieza[7, 2] = new Alfil("N");
            nuevaPieza[7, 5] = new Alfil("N");

            nuevaPieza[0, 3] = new Rey("B");
            nuevaPieza[7, 3] = new Rey("N");

            nuevaPieza[0, 4] = new Reina("B");
            nuevaPieza[7, 4] = new Reina("N");
        }
Exemple #2
0
        private void button_Click(object sender, EventArgs e)
        {
            if (nohabilitado)
            {
                return;
            }

            Casilla      csl    = (Casilla)sender;
            Size         _size  = new Size(panel1.Width / 8, panel1.Height / 8);
            List <Point> list_p = new List <Point>();
            int          ctrl_i = 8 * csl.Pos.X + csl.Pos.Y;

            if (lastButton != null && csl.BackgroundImage == lastButton.BackgroundImage)
            {
                this.Cursor = Cursors.Default;
                Limpiar_Colores();
                lastButton = null;
            }
            else if (lastButton != null && lastButton.BackgroundImage != null && csl.Pieza != lastButton.Pieza &&
                     csl.BackColor == Color.FromArgb(60, 0, 0, 255) /* && !(csl.Pieza.Nombre.Equals(lastButton.Pieza.Nombre, StringComparison.InvariantCultureIgnoreCase))*/)
            {
                switch (csl.Pieza.Color)
                {
                case "B":
                    ((Form2)(OwnedForms[0])).Eliminar_Pieza(csl.BackgroundImage);
                    break;

                case "N":
                    ((Form2)(OwnedForms[1])).Eliminar_Pieza(csl.BackgroundImage);
                    break;
                }
                if (csl.Pieza.Nombre == "Rey" && csl.Pieza.Color != lastButton.Pieza.Color)
                {
                    if (csl.Pieza.Color == "B")
                    {
                        MessageBox.Show("Ganan Negras");
                        Application.Exit();
                    }
                    else if (csl.Pieza.Color == "N")
                    {
                        MessageBox.Show("Ganan Blancas");
                        Application.Exit();
                    }
                }
                int    lb_i         = 8 * lastButton.Pos.X + lastButton.Pos.Y;
                Piezas pn           = new Piezas("V");
                String nomenc_comer = csl.Pieza.Color != "V" ? "x" : "";
                csl.BackgroundImage       = lastButton.BackgroundImage;
                csl.Pieza.Color           = lastButton.Pieza.Color;
                csl.BackgroundImageLayout = ImageLayout.Zoom;
                csl.Pieza.Nombre          = lastButton.Pieza.Nombre;
                csl.Pieza = lastButton.Pieza;
                ((Casilla)panel1.Controls[lb_i]).Pieza = pn;
                lastButton.BackgroundImage             = null;
                lastButton.Name = null;
                lastButton      = null;

                Limpiar_Colores();

                String nomenclatura = csl.Pieza.Nombre == "Peon"?"": csl.Pieza.Nombre[0].ToString();
                nomenclatura += nomenc_comer + "" + (char)((int)'h' - csl.Pos.Y) + "" + (csl.Pos.X + 1);
                guardarPosicion(nomenclatura);


                this.Cursor = Cursors.Default;



                if (turno == "B")
                {
                    this.Text = "Turno Negras";
                    turno     = "N";
                }
                else
                {
                    this.Text = "Turno Blancas";
                    turno     = "B";
                }
            }
            else if ((Cursor == Cursors.Default || csl.Pieza.Color == lastButton.Pieza.Color) &&
                     turno == csl.Pieza.Color)
            {
                if (csl.BackgroundImage != null)
                {
                    this.Cursor = CreateCursor((Bitmap)csl.BackgroundImage, new Size(50, 50));
                }
                if (lastButton != null)
                {
                    if (csl.Pieza.Color == lastButton.Pieza.Color && csl.Pieza != lastButton.Pieza)
                    {
                        Limpiar_Colores();
                    }
                }



                list_p = csl.Pieza.Movimientos(csl.Pos);
                Pintar_MovimientosV2(list_p, csl);
                lastButton = csl;
            }
        }