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}). |
Methods
-
angle()
-
Returns a random angle between -180 and 180.
Returns:
A random number between -180 and 180.
- Type
- number
-
between(min, max)
-
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:
A random number between min and max.
- Type
- number
-
frac()
-
Returns a random real number between 0 and 1.
Returns:
A random real number between 0 and 1.
- Type
- number
-
integer()
-
Returns a random integer between 0 and 2^32.
Returns:
A random integer between 0 and 2^32.
- Type
- number
-
integerInRange(min, max)
-
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:
A random number between min and max.
- Type
- number
-
normal()
-
Returns a random real number between -1 and 1.
Returns:
A random real number between -1 and 1.
- Type
- number
-
pick(ary)
-
Returns a random member of
array
.Parameters:
Name Type Description ary
Array An Array to pick a random member of.
Returns:
A random member of the array.
- Type
- any
-
real()
-
Returns a random real number between 0 and 2^32.
Returns:
A random real number between 0 and 2^32.
- Type
- number
-
realInRange(min, max)
-
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:
A random number between min and max.
- Type
- number
-
sign()
-
Returns a sign to be used with multiplication operator.
Returns:
-1 or +1.
- Type
- number
-
sow(seeds)
-
Reset the seed of the random data generator.
Note: the seed array is only processed up to the first
undefined
(ornull
) value, should such be present.Parameters:
Name Type Description seeds
Array.<any> The array of seeds: the
toString()
of each value is used. -
state( [state])
-
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 thec
,s0
,s1
ands2
values respectively, each comma-delimited.Parameters:
Name Type Argument Description state
string <optional>
Generator state to be set.
Returns:
The current state of the generator.
- Type
- string
-
timestamp(min, max)
-
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:
A random timestamp between min and max.
- Type
- number
-
uuid()
-
Returns a valid RFC4122 version4 ID hex string from https://gist.github.com/1308368
Returns:
A valid RFC4122 version4 ID hex string
- Type
- string
-
weightedPick(ary)
-
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:
A random member of the array.
- Type
- any