Pseudo-random number generator following the Mersenne_Twister algorithm. Given a seed this generator will produce the same sequence of numbers each time it is called. See https://en.wikipedia.org/wiki/Mersenne_Twister for more details. Uses the MT19937-32 (2002) implementation documented here http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/emt19937ar.html

Api inspired by http://chancejs.com/# https://github.com/chancejs/chancejs

Hierarchy

  • Random

Constructors

  • If no seed is specified, the Date.now() is used

    Parameters

    • Optional seed: number

    Returns Random

Properties

seed?: number

Methods

  • Returns true or false randomly with 50/50 odds by default. By default the likelihood of returning a true is .5 (50%).

    Parameters

    • likelihood: number = 0.5

      takes values between [0, 1]

    Returns boolean

  • Returns the result of a d10 dice roll

    Returns number

  • Returns the result of a d12 dice roll

    Returns number

  • Returns the result of a d20 dice roll

    Returns number

  • Returns the result of a d4 dice roll

    Returns number

  • Returns the result of a d6 dice roll

    Returns number

  • Returns the result of a d8 dice roll

    Returns number

  • Return a random floating point in range [min, max) min is included, max is not included

    Parameters

    • min: number
    • max: number

    Returns number

  • Return a random floating point number between [0, 1)

    Returns number

  • Return next 32 bit integer number in sequence

    Returns number

  • Returns one element from an array at random

    Type Parameters

    • T

    Parameters

    • array: T[]

    Returns T

  • Returns a new array random picking elements from the original

    Type Parameters

    • T

    Parameters

    • array: T[]

      Original array to pick from

    • numPicks: number

      can be any positive number

    • allowDuplicates: boolean = false

      indicates whether the returned set is allowed duplicates (it does not mean there will always be duplicates just that it is possible)

    Returns T[]

  • Generate a list of random integer numbers

    Parameters

    • length: number

      the length of the final array

    • min: number

      the minimum integer number to generate inclusive

    • max: number

      the maximum integer number to generate inclusive

    Returns number[]