private void buildGameBoard() { int top = k_BoardTopSize; int left = k_BoardBorders; Checkers[,] boardMatrix = m_Game.Board.GetBoardMatrix(); char rowIndex = 'a'; char columnIndex = 'A'; for (int i = 0; i < boardMatrix.GetLength(0); i++) { for (int j = 0; j < boardMatrix.GetLength(0); j++) { BoardButton newButton = new BoardButton(rowIndex, columnIndex); newButton.Top = top; newButton.Left = left; newButton.Size = new Size(k_SquareSize, k_SquareSize); newButton.Click += new EventHandler(button_Click); r_ButtonMatrix[i, j] = newButton; if (boardMatrix[i, j].Group == Checkers.eCheckerGroup.O) { newButton.BackgroundImage = Properties.Resources.WhiteSolider; newButton.BackgroundImageLayout = ImageLayout.Stretch; newButton.TagName = "O"; } else if (boardMatrix[i, j].Group == Checkers.eCheckerGroup.X) { newButton.BackgroundImage = Properties.Resources.BlackSolider; newButton.BackgroundImageLayout = ImageLayout.Stretch; newButton.TagName = "X"; } else if (boardMatrix[i, j].Group == Checkers.eCheckerGroup.Empty) { newButton.TagName = string.Empty; } this.Controls.Add(newButton); left += k_SquareSize; columnIndex = (char)(columnIndex + 1); } left = k_BoardBorders; top += k_SquareSize; columnIndex = 'A'; rowIndex = (char)(rowIndex + 1); } }
private void button_Click(object sender, EventArgs e) { BoardButton selectedButton = sender as BoardButton; Checkers.eCheckerGroup currentTurn = m_Game.CurrentTurn; if (object.ReferenceEquals(selectedButton, m_FirstSelectedButton)) { selectedButton.BackColor = default(Color); m_FirstSelectedButton = null; } else { if (currentTurn == Checkers.eCheckerGroup.O) { if (m_FirstSelectedButton == null && (selectedButton.TagName == "O" || selectedButton.TagName == "U")) { selectedButton.BackColor = Color.LightBlue; m_FirstSelectedButton = selectedButton; } else if (m_FirstSelectedButton != null) { string movement = m_FirstSelectedButton.ColumnIndex + string.Empty + m_FirstSelectedButton.RowIndex + ">" + selectedButton.ColumnIndex + selectedButton.RowIndex; tryToPlaySelectedMovment(movement); m_FirstSelectedButton.BackColor = default(Color); m_FirstSelectedButton = null; } } else { if (m_FirstSelectedButton == null && (selectedButton.TagName == "X" || selectedButton.TagName == "K")) { selectedButton.BackColor = Color.LightBlue; m_FirstSelectedButton = selectedButton; } else if (m_FirstSelectedButton != null) { string movement = m_FirstSelectedButton.ColumnIndex + string.Empty + m_FirstSelectedButton.RowIndex + ">" + selectedButton.ColumnIndex + selectedButton.RowIndex; tryToPlaySelectedMovment(movement); m_FirstSelectedButton.BackColor = default(Color); m_FirstSelectedButton = null; } } } }