Random

顯示已棄用項目

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

Random 數據類型生成擬隨機數字和方向。

概要

建構子

  • new(seed : number)

    返回一個使用可選種子的新的擬隨機生成器。

方法

建構子

new

返回一個新的 Random 對象。如果不提供種子參數, Random 將使用來自內部熵源的種子。

如果提供種子,應在範圍 [-9007199254740991, 9007199254740991] 內, Random 將對其進行向下取整到最接近的整數。所以種子 0、0.99 和 math.random() 產生的生成器皆相同。 如果您需要生成一個種子並將其存儲 以便稍後檢索,使用 math.random(max)

參數

seed: number

範例程式碼

生成一個偽隨機種子並使用它來創建一個新的 Random 生成器。

資料型別.隨機

local max = 2147483647 -- 使用一個大整數
local seed = math.random(max)
local generator = Random.new(seed)

方法

NextInteger

返回在 [min, max] 上均勻分佈的擬隨機整數。

參數

min: number
max: number

返回

NextNumber

返回範圍在 0 到 1 之間的均勻擬隨機實數數字,

包含在內。

返回

NextNumber

返回範圍在 minmax 之間的均勻擬隨機實數數字,

包含在內。

參數

min: number
max: number

返回

Shuffle

()

使用 NextInteger 來均勻洗牌 tb 的數組部分。

如果數組部分有任何 nil "孔",洗牌將會拋出錯誤,因為洗牌可能會改變長度。

tb 的雜湊部分將被忽略。tb 的任何元方法不會被調用。

用 Fisher-Yates 洗牌算法定義洗牌,因此對於給定大小的表, NextInteger 調用的次數在引擎版本之間是保持一致的。

參數

tb: table

返回

()

NextUnitVector

返回一個具有擬隨機方向的單位向量。從此函數返回的向量在單位球上均勻分佈。

返回

具有擬隨機方向的單位向量。

Clone

返回一個與原始的狀態相同的新 Random 對象。

返回