Name

Math.random( ) Method — generate a random number from 0 to 1.0

Availability

Flash 5; may be used when exporting Flash 4 movies

Synopsis

Math.random( )

Returns

A floating-point number greater than or equal to 0.0 and less than 1.0.

Description

The random( ) method provides a way to produce random numbers, which can be used to choose randomly between actions in a script. The random( ) method generates a random value between 0 and .99999... inclusive, which we can scale according to our needs. For example, to obtain a random number between 0 and 5, we use:

Math.floor(Math.random( ) * 6)

And to obtain a random number between 1 and 6, we use:

Math.floor(Math.random( ) * 6) + 1

This custom function returns an integer number in a specified range rather than a floating-point number in the range 0 to 1:

// Returns a number in the range minVal to maxVal, inclusive
function myRandom (minVal, maxVal) {
  return minVal + Math.floor(Math.random( ) * (maxVal + 1 - minVal));
}

// Invoke the function
dieRoll = myRandom(1, 6);  // Emulates a six-sided die
trace(dieRoll);

// Note that to simulate two dice, you can use this:
twoDice = myRandom(2, 12);  // The minimum value is 2, not 1

// To return the die values separately, use an array
function rollTwoDice ( ) {
  return [myRandom(1, 6), myRandom(1, 6)];
}

Due to a bug in Build 30 of the Flash 5 Player, this approach is prone to an extremely rare, but potentially important inaccuracy. In Build 30, random( ) generates values in the range 0.0 to 1.0, inclusive. ...

Get ActionScript: The Definitive Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.