Checking whether it's a draw is fairly straightforward. All we have to do is check whether all the board's boxes are filled. We can do that by iterating through the board array:
public String play(int x, int y) { checkAxis(x); checkAxis(y); lastPlayer = nextPlayer(); setBox(x, y, lastPlayer); if (isWin()) { return lastPlayer + " is the winner"; } else if (isDraw()) { return "The result is draw"; } else { return "No winner"; } }
private boolean isDraw() { for (int x = 0; x < SIZE; x++) { for (int y = 0; y < SIZE; y++) { if (board[x][y] == ' ') { return false; } } } return true;
}