def coerce(cls, string):
        """Create a :class:`Requirement` object from a given package spec."""
        match = re.match(cls.spec_regex, string)
        if not match:
            raise InvalidRequirementSpecError("could not parse requirement")
        package = match.group(1)
        if all(match.group(2, 3)):
            version = "".join(match.group(2, 3))
        else:
            version = None
        return cls(package, version)
def init(num_players):
	global MAP_WIDTH,MAP_HEIGHT,N_ITERATIONS,H_RATIO,W_RATIO,MIN_ROOM_SIDE,CENTER_HUB_HOLE,CENTER_HUB_RADIO,MAP_NAME
	MAP_WIDTH=int(500*sqrt(num_players))
	MAP_HEIGHT=MAP_WIDTH
	N_ITERATIONS=log(MAP_WIDTH*100,2)
	H_RATIO=0.49
	W_RATIO=H_RATIO
	MIN_ROOM_SIDE = 32
	CENTER_HUB_HOLE = 32
	CENTER_HUB_RADIO = CENTER_HUB_HOLE-MIN_ROOM_SIDE/2
	MAP_NAME="result%s.png"%MAP_WIDTH