# Random data generator

## Introduction¶

Get random value from a random generator, built-in methods of phaser.

• Author: Richard Davey

## Usage¶

### Random data generator¶

• Pre-defined random data generator
``````var rnd = Phaser.Math.RND;
``````
• New random generator
``````var rnd = new Phaser.Math.RandomDataGenerator(seed);
``````

### Set seed¶

• Set seed in game config for pre-defined random data generator
``````var config = {
// ...
seed: seed,
// ...
}
var game = new Phaser.Game(config);
``````
• `seed` :
• An array of string, like `[(Date.now() * Math.random()).toString()]`
• Set seed
``````rnd.init(seed);
``````
• `seed` : A string or an array of string.

### Get random value¶

• Random real number between `0` and `1`.
``````var value = rnd.frac();
``````
• Random integer between `0` and `2^32`.
``````var value = rnd.integer();
``````
• Random real number between 0 and 2^32.
``````var value = rnd.real();
``````
• Random integer between and including min and max.
``````var value = rnd.between(min, max);
// var value = rnd.integerInRange(min, max);
``````
• Random real number between min and max.
``````var value = rnd.realInRange(min, max);
``````
• Random real number between -1 and 1.
``````var value = rnd.normal();
``````
• Random angle between `-180` and `180`.
``````var angle = rnd.angle();
``````
• Random rotation in radians, between `-3.141` and `3.141`.
``````var angle = rnd.rotation();
``````
• Random timestamp between min and max.
``````var timestamp = rnd.timestamp(min, max);
``````
• `min` : Default value is the beginning of 2000.
• `max` : Default value is the end of 2020.
• UUID
``````var uuid = rnd.uuid();
``````
• Random sign value
``````var sign = rnd.sign();
``````
• `sign` : `-1` or `1`

### Get random item¶

• Random element from within the given array.
``````var item = rnd.pick(arr);
``````
• Random element from within the given array, favoring the earlier entries.
``````var item = rnd.weightedPick(arr);
``````

### Shuffle array¶

``````var arr = rnd.shuffle(arr);
``````