Перейти к основному содержимому

$reactions.random

Метод возвращает случайное целое число в заданном диапазоне.

Синтаксис

Метод принимает один аргумент — целочисленное значение max:

$reactions.random(10);

Метод возвращает случайное целое число в диапазоне от 0 до max (не включая max).

Особенности

  • Значения, которые возвращает метод, могут быть переопределены в XML-тестах при помощи тега <random>, чтобы тесты проходили стабильно.

    предупреждение
    Для встроенного JavaScript-метода Math.random переопределить возвращаемые значения нельзя. Поэтому использовать его в сценариях JAICP не рекомендуется.
  • Возвращаемые значения могут быть переопределены в сценарии при помощи модификации объекта $request.data.smartRandom.

  • Все возвращаемые значения записываются в $response и могут быть использованы для повторного выполнения сценария с такими же результатами.

  • Метод гарантирует, что возвращаемые случайные числа не повторяются чаще, чем через max / 2 последовательных вызовов метода.

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

Напишем стейт, который эмулирует игру в кости и выдает сумму двух случайных чисел от 1 до 6:

state: RollDice
intent!: /RollDice
# Получаем два случайных числа от 1 до 6.
script:
$temp.diceOne = $reactions.random(6) + 1;
$temp.diceTwo = $reactions.random(6) + 1;
# Воспользуемся строковыми подстановками, чтобы вывести ответ.
a: {{$temp.diceOne}} и {{$temp.diceTwo}}, итого {{$temp.diceOne + $temp.diceTwo}}.