Simulation: Generate random numbers that cluster around an average? I want to simulate a simple event that has variable empirical result/outcome.
Generate random numbers that cluster around an average
For example, let's say we collect the data for how far people can throw a ball.  The data may or may not be distributed normally.  I want my code to generate a hypothetical throwing distance based on that distribution.   
For example, say the mean throw distance is 10 feet, with StdDev of 2 feet.  The simulator should generate most throws to be around 10 feet, but once in a while you can generate a 20 ft. distance.   There is a probability of each distance that can be calculated?   Any idea how I start to model this?  I'm not sure what to search for.  
Is this one approach?   Area under the curve?  If $f(x)$ is the "bell curve" function of throwing distance frequency distribution histogram, and $g(x) = \int_0^x f(x)dx$ is some kind of cumulative density function.    Generate a random number from 0 to 1 and and see where it intersects $g(x)$ ?
Better yet, What do you think of the following? I think I can discard the distribution concept, and just model a bell-like frequency histogram in Excel.  Using 2 columns of data.  a1=3.  b1=34.  Etc.  (3, 34), (5, 45), (7,245)(10,350) (11,240), (12,145), (13,90), (14, 35), (15, 12) ............( 20, 1) In the 3rd column, I can create a cumulative total. From that, I can do a regression and get a function! Then I just take the inverse of that function and use it as a lookup function using f(x), where x is a random number from 0
 A: From your example, it seems you don't have normal throwing distances in mind; with $\mu=10, \sigma=2,$ you are willing to have occasional observations as large as $\mu + 5\sigma = 20,$ but presumably not as
small as $\mu - 5\sigma = 0,$ and negative throwing distances make no sense. 
Perhaps a member of the gamma family of distributions would work better.
In your example, $\mu = 10, \sigma = 2$ implies shape $\alpha = 25$ and scale $\theta = 2/5$ (or rate $\lambda =5/2).$  [That's because $\mu = \alpha\theta$ and $\sigma^2 = \alpha\theta^2.$ Gamma distributions are right-skewed and do not take negative values.
 See Wikipedia for details.]
In R statistical software, parameters $\alpha$ and $\lambda$ are used
for gamma distributions and the function rgamma generates a random sample from the requested gamma distribution. [Many other kinds of statistical software will generate random gamma-distributed samples, but the syntax varies.]
A sample of size $n = 100,000$ with sample mean $\bar X \approx 9.99$ and sample standard deviation $S \approx 1.00.$ is generated as follows:
set.seed(1218)  # retain seed to generate exactly same sample; omit for new one
x = rgamma(10^5, 25, 5/2)
mean(x); sd(x)
[1] 9.992308
[1] 1.996111

summary(x)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  3.157   8.589   9.858   9.992  11.256  21.906 


R code for figure:
hist(x, prob=T, col="skyblue2", main = "Sample from GAMMA(25, 4/2) with Density")
  curve(dgamma(x, 25, 5/2), 0, 20, add=T,lwd=2, col="red") 

Note: Most statistical and mathematical software have built-in methods for sampling from much-used distribution families such as normal, lognormal, gamma, Weibull, and so on. More generally, simulation methods exist for sampling from any distribution, as long 
as you can specify a density function that has the desired population mean and
standard deviation. If you want details on that, I suggest you try a site
that answers applied statistics, probability modeling, or software questions.
Addendum prompted by comments. Typically, simulation efforts begin with
a sequence of pseudo-random numbers that are, for practical purposes, indistinguishable  from a random sample $U_1, U_2, \dots, U_n$ from
$\mathsf{Unif}(0,1).$ Then a random sample from another distribution with
CDF $F_X(x)$ can be simulated as $X_i = F_X^{-1}(U_i).$
As an example, suppose we wish to simulate a random sample from the distribution $\mathsf{Beta}(.5, 1),$ which has density function $f_X(x) = \frac{1}{2\sqrt{x}} = .5x^{-0.5},$ for $0 < x < 1$ and $0$ elsewhere. The distribution has mean $\mu = 1/3.$ (See Wikipedia.)
The CDF of $X$ is 
$F_X(x) = x^{0.5},$ and its inverse CDF (also called its 'quantile function')
is $F_X^{-1}(u) = u^2,$ for $0 < u < 1.$ Thus a random sample $X_i, \dots, X_n$ from $\mathsf{Beta}(.5,1)$ can be generated as $X_i = U_i^2,$ where
$U_i \sim \mathsf{Unif}(0,1).$ The R code below illustrates simulation of $n = 10000$ observations from $\mathsf{Beta}(.5,1)$ according to this method.
set.seed(1218);  n = 10000
u = runif(n);  x = u^2
mean(x)
[1] 0.3350611  # aprx E(X) = 1/3

hist(x, prob=T, col="skyblue2", main="Sample from BETA(.5,1) with Density")
  curve(dbeta(x, .5, 1), 0, 1, add=T, lwd=2, col="red")


Because the function rbeta is available in R, it would be more convenient
to obtain such a sample directly using code x = rbeta(10000, .5, 1).
