Генератор случайных чисел

Объект ГСЧ доступен как salet.rnd.

В отличие от Math.random, версия генератора Salet обладает предсказуемостью: генератор выдаёт одинаковые числа, когда инициализован тем же значением-зерном. Поэтому после сохранения и загрузки игры результат не изменится.

Генератор выдаёт псевдослучайные числа с периодом 2³². Этого достаточно для большинства игр.

Свойства multiplier, modulo, offset - это системные значения ГСЧ. Если вы не знаете, что это, то не надо их трогать.

modulo

Значение 2³² - 1.

randn

Возвращает псевдослучайное целое число от 0 (включительно) до modulo

randf

Возвращает псевдослучайное дробное число (float) от 0 (включительно) до 1.

rand

Возвращает псевдослучайное целое число от 0 (включительно) до аргумента n. Аргумент: любое число

randomInt

Другое название метода rand

randomElement

Возвращает псевдослучайный элемент из массива.

Аргумент: elements - массив для выборки

randRange

Возвращает псевдослучайное число от [аргумента 1] (включительно) до [аргумента 2]. Число будет целым, если аргумент 1 также целое число.

Аргумент 1: min - любое число
Аргумент 2: max - любое число

dice

Возвращает результат броска n кубиков, каждый из которых имеет dx граней. К результату прибавляется значение plus

Аргумент 1: n - целое число
Аргумент 2: dx - целое число Аргумент 3: plus - число, необязательный аргумент

diceString

Возвращает результат броска n кубиков, каждый из которых имеет dx граней. К результату прибавляется значение plus. Но только этот метод принимает не три аргумента, а строку вида NdX+plus, которую уже разбирает в числа. По умолчанию plus = 0, n = 1

Кроме обычного числа граней, метод также понимает кубики dF - так называемые fudge dice, и d% - процентный кубик d100.

Аргумент 1: строка вида NdX+plus

odds

Возвращает шанс (в процентах) того, что исходное значение + значение, которое выпадет на кубике с n гранями, будет строго больше целевого значения target.

Аргумент 1: value - исходное значение
Аргумент 2: target - целевое значение
Аргумент 3: n - количество граней кубика

seed

Исходное зерно, которое инициализирует генератор. По умолчанию Salet использует текущее время с точностью до миллисекунд.

Аргумент: целочисленное значение, значительно меньше modulo

getSeed

Метод, который возвращает значение seed

  • ru/api/rng.txt
  • Последние изменения: 2017/05/02 09:45
  • Alexander Yakovlev