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;
        }