public Position BiasedPosition(Position centralPosition, int maxRange) { Bounds areaBounds = Bounds.CenteredOn(centralPosition, maxRange); Position candidatePosition; do { candidatePosition = NextPosition(areaBounds); } while (Position.Distance(centralPosition, candidatePosition) > maxRange); return(candidatePosition); }