Добавлен , опубликован
Алгоритмы, Наработки и Способности
Способ реализации:
Lua
Тип:
Наработка
Версия Warcraft:
1.26+

RandomSeed

Что это?

Простой ассет, реализующий Multiply-with-carry алгоритм, который позволяет генерировать псевдослучайные числа используя зерно.
Для запуска требуется UjAPI или можно просто скопировать код и использовать в Reforged.

Методы

---@param seed number
---@return RandomSeed
function RandomSeed:new(seed) end
Конструктор, в котором указывается зерно, которое должно быть больше нуля.
---@return number
function RandomSeed:uniform() end
Возвращает псевдослучайное число в диапазоне [0,1) с равномерным распределением.
---@param min number
---@param max number
---@return number
function RandomSeed:uniformInt(min, max) end
Возвращает псевдослучайное число в диапазоне [min,max] с равномерным распределением.
---@param min number
---@param max number
---@return number
function RandomSeed:uniformReal(min, max) end
Возвращает псевдослучайное число в диапазоне [min,max] с равномерным распределением.
---@param factor number
---@return number
function RandomSeed:normal(factor) end
Возвращает псевдослучайное число в диапазоне [0,1) с нормальным распределением.
---@param min number
---@param max number
---@param factor number
---@return number
function RandomSeed:normalInt(min, max, factor) end
Возвращает псевдослучайное число в диапазоне [min,max] с нормальным распределением.
---@param min number
---@param max number
---@param factor number
---@return number
function RandomSeed:normalReal(min, max, factor) end
Возвращает псевдослучайное число в диапазоне [min,max] с нормальным распределением.

Примеры использования

require 'ujapi.asset.RandomSeed'

local rng = RandomSeed:new(10);

for _ = 1, 10 do
    print('uniform: ', rng:uniform());
end
`
ОЖИДАНИЕ РЕКЛАМЫ...