public Player getWinner() {
    if (players == null || players[0] == null || players[1] == null || !isOver()) {
      // The winner can't be determined yet
      return null;
    }
    else if (players[0].getScore() > players[1].getScore()) {
      return players[0];
    }
    else if (players[1].getScore() > players[0].getScore()) {
      return players[1];
    }
    else {
      // It's a draw
      return null;
    }
  }