Engine

Random

Show Deprecated

The Random data type generates pseudorandom numbers and directions.

Summary

Constructors

Methods

Constructors

new

Parameters

seed: number

Code Samples

Datatype.Random

local max = 2147483647 -- use a large integer
local seed = math.random(max)
local generator = Random.new(seed)

Methods

NextInteger

Returns a pseudorandom integer uniformly distributed over [min, max].

Parameters

min: number
max: number

Returns

NextNumber

Returns a pseudorandom number uniformly distributed over [0, 1].

Returns

NextNumber

Returns a pseudorandom number uniformly distributed over [min, max].

Parameters

min: number
max: number

Returns

Shuffle

void

Uniformly shuffles the array part of tb in-place using NextInteger to pick indices. If there are any nil "holes" in the array part of the table, Shuffle throws an error, since shuffling could change the length.

The hash part of tb is ignored. No metamethods of tb are invoked.

The shuffle is defined to be a Fisher-Yates shuffle so the number of NextInteger calls is guaranteed to be consistent between engine versions for a given size of table.

Parameters

tb: table

Returns

void

NextUnitVector

Returns a unit vector with a pseudorandom direction. Vectors returned from this function are uniformly distributed over the unit sphere.

Returns

A unit vector with a pseudorandom direction.

Clone

Returns a new Random object with the same state as the original.

Returns