2.7 Generating Pseudorandom Numbers
NN 2, IE 3
2.7.1 Problem
You want to generate a random
number.
2.7.2 Solution
The Math.random( ) method returns a pseudorandom number
between 0 and 1. To calculate a pseudorandom integer value within a
range starting with zero, use the formula:
var result = Math.floor(Math.random( ) * (n + 1);
where n is the highest acceptable integer
of the range. To calculate a pseudorandom integer number within a
range starting at a number other than zero, use the formula:
var result = Math.floor(Math.random( ) * (n - m + 1)) + m;
where m is the lowest acceptable integer
of the range, and n is the highest
acceptable integer of the range.
2.7.3 Discussion
The previous examples focus on random integers, such as the kind you
might use for values of a game cube (a die with numbers from 1
through 6). But you can remove the Math.floor( )
call to let the rest of the expression create random numbers with
decimal fractions if you need them.
JavaScript's random number generator does not
provide a mechanism for adjusting the seed to assure more genuine
randomness. Thus, at best you can treat it as a pseudorandom number
generator.
2.7.4 See Also
Section 2.0.2 in the
introduction of this chapter.
|