// return a string that can display the board nicely // this is a convenience for a text-based interface and for debugging public String toString() { String s; s = "boardsize is " + boardSize + " by " + boardSize + "\n"; if ( (winner == 'X') || (winner == 'O')) s = s + winner + " won!\n"; else if (winner == 'D') s = s + "game is a draw\n"; else if (playerToMove == null) s = s + "game not started yet\n"; else s = s + "next player is " + playerToMove.getUserId() + "\n"; for (int i = 0; i < boardSize; i++) { for (int j = 0; j < boardSize; j++) { s = s + " " + board[i][j] + " "; if (j < boardSize - 1) s = s + "|"; } s = s + "\n"; if (i < boardSize - 1) { for (int j = 0; j < boardSize; j++) { s = s + "---"; if (j < boardSize - 1) s = s + "|"; } s = s + "\n"; } } return s; }