public PlayerNumber winner() {
		if (someoneQuit) {
			return onePlayerLeft;
		}
		if (checkHorizontal(movesOfPlayerOne)
				|| checkVertical(movesOfPlayerOne)
				|| checkDiagonal(movesOfPlayerOne))
			return Game.FIRST_PLAYER;

		if (checkHorizontal(movesOfPlayerTwo)
				|| checkVertical(movesOfPlayerTwo)
				|| checkDiagonal(movesOfPlayerTwo))
			return Game.SECOND_PLAYER;

		if (getNoOfMovesLeft() > 0)
			return Game.GAME_NOT_OVER;

		return Game.DRAW;
	}