Beispiel #1
0
        public void populateButton()
        {
            int buttonSize = panel1.Width / chessboard.Size;

            panel1.Height = panel1.Width;

            for (int i = 0; i < chessboard.Size; i++)
            {
                for (int j = 0; j < chessboard.Size; j++)
                {
                    btnGrid[i, j]        = new ChessButton(i, j);
                    btnGrid[i, j].Height = buttonSize;
                    btnGrid[i, j].Width  = buttonSize;
                    //btnGrid[i, j].cell = chessboard.Grid[i, j];
                    btnGrid[i, j].Click += (sender, eventArgs) => { Grid_Button_Click(sender, eventArgs); };

                    //btnGrid[i, j].Click += Grid_Button_Click;

                    if (i < 2 || i > 5)
                    {
                        btnGrid[i, j].Text = chessboard.Grid[i, j].chessPiece.Name;
                    }
                    else
                    {
                        btnGrid[i, j].Enabled = false;
                    }
                    btnGrid[i, j].Location = new Point(buttonSize * j, buttonSize * i);
                    panel1.Controls.Add(btnGrid[i, j]);
                }
            }
            setColorTiles();
            panel1.Update();
        }
Beispiel #2
0
 public ChessBoardForm()
 {
     InitializeComponent();
     selectedButton = null;
     //nextButton = null;
     populateButton();
 }
Beispiel #3
0
        private void Grid_Button_Click(object sender, EventArgs e)
        {
            ChessButton cb         = sender as ChessButton;
            ChessButton nextButton = btnGrid[cb.row, cb.col];


            if (selectedButton == null)
            {
                selectedButton = nextButton;
                legalList      = chessboard.getlegalMoveList(chessboard.Grid[selectedButton.row, selectedButton.col]);
                setLegalColorTiles(true);
                Console.WriteLine("Selected Button is: " + selectedButton.row + ", " + selectedButton.col);
            }
            else
            {
                if (nextButton == selectedButton)
                {
                    selectedButton = null;
                    setLegalColorTiles(false);
                }
                else
                {
                    if (nextButton.BackColor == Color.FromName("Blue"))
                    {
                        chessboard.movePiece(selectedButton.row, selectedButton.col, nextButton.row, nextButton.col);
                        nextButton.Text     = chessboard.Grid[nextButton.row, nextButton.col].chessPiece.Name;
                        selectedButton.Text = "";
                        setLegalColorTiles(false);
                        nextButton.Enabled     = true;
                        selectedButton.Enabled = false;
                        selectedButton         = null;
                    }
                    else
                    {
                        Console.WriteLine("Not a Legal Move");
                    }
                }
            }
        }