$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}}.