public GameBoard(int[] i_CurrentEmptyRowInColumn, eBoardSquare[,] i_GameBoardSquare, int i_NumberOfEmptySquares, eBoardStatus i_BoardStatus) { m_CurrentEmptyRowInColumn = i_CurrentEmptyRowInColumn; m_GameBoard = i_GameBoardSquare; m_NumberOfEmptySquares = i_NumberOfEmptySquares; m_BoardStatus = i_BoardStatus; }
public object Clone() { int[] currentEmptyRowInColumn = (int[])m_CurrentEmptyRowInColumn.Clone(); eBoardSquare[,] gameBoardToCopy = (eBoardSquare[, ])m_GameBoard.Clone(); int numberOfEmptySquares = m_NumberOfEmptySquares; eBoardStatus boardStatus = m_BoardStatus; return(new GameBoard(currentEmptyRowInColumn, gameBoardToCopy, numberOfEmptySquares, boardStatus)); }
private void setNewBoardStatus(int i_LastInsertedColumn) { bool playerWon = checkIfPlayerWon(i_LastInsertedColumn); if (playerWon) { m_BoardStatus = eBoardStatus.PlayerWon; } else if (m_NumberOfEmptySquares == 0) { m_BoardStatus = eBoardStatus.Draw; } }
public void ClearBoard() { m_NumberOfEmptySquares = Rows * Columns; for (int i = 0; i < Columns; ++i) { m_CurrentEmptyRowInColumn[i] = Rows; for (int j = 0; j < Rows; ++j) { m_GameBoard[j, i] = eBoardSquare.EmptySquare; } } m_BoardStatus = eBoardStatus.NextPlayerCanPlay; }