private void computerMove() { System.Threading.Thread.Sleep(250); Point chosenCell = r_GameLogic.ComputerMove(); BoardButton buttonToUpdate = r_ButtonsArray[chosenCell.X, chosenCell.Y]; buttonToUpdate.Enabled = false; buttonToUpdate.Text = convertSymbolToString(m_CurrentPlayer.PlayerSymbol); if (!checkIfGameOver()) { updateTurn(); } }
private void button_Click(object sender, EventArgs e) { BoardButton currentButton = sender as BoardButton; currentButton.Text = convertSymbolToString(m_CurrentPlayer.PlayerSymbol); currentButton.Enabled = false; updatePlayerMove(currentButton.X, currentButton.Y, m_CurrentPlayer.PlayerSymbol); r_GameLogic.PlayerMove(m_CurrentPlayer); if (!checkIfGameOver()) { updateTurn(); if (r_GameMode == eGameMode.PlayerVSComputer) { computerMove(); } } }
private void buildBoard() { int spaceBetweenButtons = 10; int x = spaceBetweenButtons; int y = spaceBetweenButtons; int buttonWidth = 75; int buttonHeight = 60; int width = 0; int lablePlayer1X; for (int i = 0; i < r_Rows; i++) { for (int j = 0; j < r_Cols; j++) { BoardButton newButton = new BoardButton(i, j); newButton.Size = new Size(buttonWidth, buttonHeight); newButton.Location = new Point(x, y); r_ButtonsArray[i, j] = newButton; this.Controls.Add(newButton); newButton.Click += button_Click; x += buttonWidth + spaceBetweenButtons; } width = x; y += buttonHeight + spaceBetweenButtons; x = spaceBetweenButtons; } lablePlayer1X = r_ButtonsArray[0, (r_Cols - 1) / 2].Location.X; if (r_Cols % 2 != 0) { lablePlayer1X -= buttonWidth / 2; } this.Size = new Size(width + (spaceBetweenButtons * 2), y + buttonHeight + 10); m_Player1ScoreLabel.Location = new Point(lablePlayer1X, this.ClientSize.Height - m_Player1ScoreLabel.Height); m_Player2ScoreLabel.Location = new Point(m_Player1ScoreLabel.Location.X + m_Player1ScoreLabel.Width + 25, this.ClientSize.Height - m_Player2ScoreLabel.Height); m_CurrentPlayer = r_GameLogic.Player1; }