PRNG

Represents an abstract base class for psuedo-random number generators. This class shouldn't be instantiated directly.

Constructor

(abstract) new PRNG(seedopt)

Abstract base class representing a Psuedo Random Number Generator.

This class is intended to be extended by specific implementations such as LCG, Mulberry32 or XORShift32.

Parameters:
NameTypeAttributesDefaultDescription
seednumber<optional>
Date.now()

The initial seed value for the PRNG.

Classes

PRNG

Abstract base class representing a Psuedo Random Number Generator.

Methods

maxValue() → {number}

Returns the maximum possible value that the PRNG can generate.

Throws:
  • Must be implemented by subclasses.
Type
Error
Returns:
  • The maximum value of the PRNG.
Type: 
number

next() → {number}

Generates the next psuedo-random number.

Throws:
  • Must be implemented by subclasses.
Type
Error
Returns:
  • The next psuedo-random number.
Type: 
number

randomBipolarFloat() → {number}

Generate a random float in the range [-1, 1).

Returns:
  • A number between -1 (inclusive) and 1 (exclusive).
Type: 
number

randomChance(chanceopt) → {boolean}

Returns a boolean based on a specified probability.

Parameters:
NameTypeAttributesDefaultDescription
chancenumber<optional>
0.5

The probability of returning true (between 0 and 1).

Returns:
  • True if the random float is less than the chance, otherwise false.
Type: 
boolean

randomElement(array) → {*}

Select a random element from an array.

Parameters:
NameTypeDescription
arrayarray

The array from which to select an element.

Returns:
  • A randomly selected element from the array.
Type: 
*

randomFloat() → {number}

Generate a random float in the range [0, 1).

Returns:
  • A number between 0 (inclusive) and 1 (exclusive).
Type: 
number

randomInteger(min, max) → {number}

Generate a random integer from a specified range of values.

Parameters:
NameTypeDescription
minnumber

The minimum integer value (inclusive).

maxnumber

The maximum integer value (exclusive).

Returns:
  • A random integer between min (inclusive) and max (exclusive).
Type: 
number

randomWeighted(choices) → {function|number|string}

Selects an option probabalistically from a set of weighted choices.

Parameters:
NameTypeDescription
choicesArray.<Object>

An array of objects with option and weight properties.

Properties
NameTypeDescription
optionfunction | number | string

The outcome of the choice.

weightnumber

The weight of the choice. Higher weights (relative to the other choices) increase the likelihood of selection.

Returns:
  • The selected option.
Type: 
function | number | string