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(); }
public ChessBoardForm() { InitializeComponent(); selectedButton = null; //nextButton = null; populateButton(); }
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"); } } } }