For the purpose of this calculator, an option is the right to obtain a payment at a certain time in the future, the size of which depends on the price development of a certain underlying asset (stocks, bonds, interest rates, market indices, weather), minus a deductible. Technically speaking, it is a functional on the realizations of a random walk. A call option yields a payment for the purchaser ("is in the money at expiration") equal to "value of the functional minus strike price", if and only if this difference is positive. A put option yields a payment for the purchaser equal to "strike price minus value of the functional", if and only if this difference is positive.
The random walk underlying this simulation is a generalized Wiener process with drift rate equal to the risk-free interest rate. A compound Poisson process with Poisson-distributed frequency and lognormally-distributed downward jumps (random "dividends") can be superimposed. The process is discretized, thus allowing a meaningful interpretation of "average price" of the asset over the lifetime of the option. There is no upper boundary, but the lower boundary "price = 0" is absorbing; i.e. if an asset's price falls to zero it is wiped out.
The fundamental question is: If the option still has some time until expiration, what is the fair price for it? As a risk-neutral investor, I should be indifferent between investing in the option or putting my money on a risk free savings account, giving me the risk-free rate for sure. The Black-Scholes option pricing model suggests that the risk-preference of the investor can be ignored in pricing the option "because the risk is already priced into the underlying asset".
To compute the fair market value of the option today, we simulate the price evolution of the asset a large number of time in order to get a probability distribution for the value of the option at expiration -- when the entire realization of the random walk is known and the intrinsic value of the option can be computed. We then determine the expected value of the option at expiration and discount to the present day at the risk-free rate.
Because this is a toy-calculator, based on a simple little script which runs on the server (as opposed to your own computer), the number of simulations (actually the maximum execution time of the script) will be limited. It may therefore be possible that reproducible results cannot be obtained. You can get any number of simulations by running the calculator a number of times and averaging the results by hand. Generally though, the more runs, the more stable the distribution per simulation, the better the result.