## Phaser. RandomDataGenerator

#### new RandomDataGenerator(seeds)

  An extremely useful repeatable random data generator.

  Based on Nonsense by Josh Faul https://github.com/jocafa/Nonsense.

  The random number genererator is based on the Alea PRNG, but is modified.

  - https://github.com/coverslide/node-alea
  - https://github.com/nquinlan/better-random-numbers-for-javascript-mirror
  - http://baagoe.org/en/wiki/Better_random_numbers_for_javascript (original, perm. 404)

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `seeds` | Array.<any> | string | <optional> | An array of values to use as the seed, or a generator state (from {#state}).

  Source - math/RandomDataGenerator.js, line 23

### Methods

#### angle() → {number}

  Returns a random angle between -180 and 180.

  ##### Returns:

  number -

  A random number between -180 and 180.

  Source - math/RandomDataGenerator.js, line 310

#### between(min, max) → {number}

  Returns a random integer between and including min and max.
  This method is an alias for RandomDataGenerator.integerInRange.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `min` | number | The minimum value in the range.
  `max` | number | The maximum value in the range.

  ##### Returns:

  number -

  A random number between min and max.

  Source - math/RandomDataGenerator.js, line 198

#### frac() → {number}

  Returns a random real number between 0 and 1.

  ##### Returns:

  number -

  A random real number between 0 and 1.

  Source - math/RandomDataGenerator.js, line 160

#### integer() → {number}

  Returns a random integer between 0 and 2^32.

  ##### Returns:

  number -

  A random integer between 0 and 2^32.

  Source - math/RandomDataGenerator.js, line 148

#### integerInRange(min, max) → {number}

  Returns a random integer between and including min and max.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `min` | number | The minimum value in the range.
  `max` | number | The maximum value in the range.

  ##### Returns:

  number -

  A random number between min and max.

  Source - math/RandomDataGenerator.js, line 184

#### normal() → {number}

  Returns a random real number between -1 and 1.

  ##### Returns:

  number -

  A random real number between -1 and 1.

  Source - math/RandomDataGenerator.js, line 227

#### pick(ary) → {any}

  Returns a random member of `array`.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `ary` | Array | An Array to pick a random member of.

  ##### Returns:

  any -

  A random member of the array.

  Source - math/RandomDataGenerator.js, line 258

#### real() → {number}

  Returns a random real number between 0 and 2^32.

  ##### Returns:

  number -

  A random real number between 0 and 2^32.

  Source - math/RandomDataGenerator.js, line 172

#### realInRange(min, max) → {number}

  Returns a random real number between min and max.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `min` | number | The minimum value in the range.
  `max` | number | The maximum value in the range.

  ##### Returns:

  number -

  A random number between min and max.

  Source - math/RandomDataGenerator.js, line 213

#### sign() → {number}

  Returns a sign to be used with multiplication operator.

  ##### Returns:

  number -

  -1 or +1.

  Source - math/RandomDataGenerator.js, line 271

#### sow(seeds)

  Reset the seed of the random data generator.

  Note: the seed array is only processed up to the first `undefined` (or `null`) value, should such be present.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `seeds` | Array.<any> | The array of seeds: the `toString()` of each value is used.

  Source - math/RandomDataGenerator.js, line 83

#### state(state) → {string}

  Gets or Sets the state of the generator. This allows you to retain the values
  that the generator is using between games, i.e. in a game save file.

  To seed this generator with a previously saved state you can pass it as the
  `seed` value in your game config, or call this method directly after Phaser has booted.

  Call this method with no parameters to return the current state.

  If providing a state it should match the same format that this method
  returns, which is a string with a header `!rnd` followed by the `c`,
  `s0`, `s1` and `s2` values respectively, each comma-delimited.

  ##### Parameters:

  Name | Type | Argument | Description
  --- | --- | --- | ---
  `state` | string | <optional> | Generator state to be set.

  ##### Returns:

  string -

  The current state of the generator.

  Source - math/RandomDataGenerator.js, line 322

#### timestamp(min, max) → {number}

  Returns a random timestamp between min and max, or between the beginning of 2000 and the end of 2020 if min and max aren't specified.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `min` | number | The minimum value in the range.
  `max` | number | The maximum value in the range.

  ##### Returns:

  number -

  A random timestamp between min and max.

  Source - math/RandomDataGenerator.js, line 296

#### uuid() → {string}

  Returns a valid RFC4122 version4 ID hex string from https://gist.github.com/1308368

  ##### Returns:

  string -

  A valid RFC4122 version4 ID hex string

  Source - math/RandomDataGenerator.js, line 239

#### weightedPick(ary) → {any}

  Returns a random member of `array`, favoring the earlier entries.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `ary` | Array | An Array to pick a random member of.

  ##### Returns:

  any -

  A random member of the array.

  Source - math/RandomDataGenerator.js, line 283