Math.RandomSeed
Описание
Начальное число генератора случайных чисел, используемое действием Math.Random.
При использовании одного и того же начального числа будет получаться одинаковая последовательность псевдо-случайных чисел. Чтобы получить уникальную последовательность случайных чисел, используйте уникальное начальное число, такое как текущее время и дата.
Примечание: Генератор случайных чисел автоматически отбирает в качестве уникального значения начального числа, используя текущую дату и время запуска приложения.
ПараметрыВозврат
Ничего.
Смотрите также: Связанные действия
ПримерыПример 1Debug.ShowWindow(true); Math.RandomSeed(225); result1 = Math.Random(100); result2 = Math.Random(100); result3 = Math.Random(100); Debug.Print(result1 .. ", " .. result2 .. ", " .. result3 .. "\r\n"); Math.RandomSeed(225); result4 = Math.Random(100); result5 = Math.Random(100); result6 = Math.Random(100); Debug.Print(result4 .. ", " .. result5 .. ", " .. result6 .. "\r\n"); Math.RandomSeed(5647); result7 = Math.Random(100); result8 = Math.Random(100); result9 = Math.Random(100); Debug.Print(result7 .. ", " .. result8 .. ", " .. result9 .. "\r\n");В этом примере начальное число генератора случайных чисел устанавливается как число 225, затем три раза вызывается действие Math.Random и полученные три случайных числа показываются в окне отладки. Каждый раз при вызове этой последовательности действий, получается одна и таже последовательность случайных чисел. Затем, ниже в примере, изменяем начальное число на 5647. Обратите внимание, это приведет к другой последовательности случайных чисел. Результат этого примера будет следующим: 3, 4, 32 3, 4, 32 57, 54, 24 Совет: Для проверки можно скопировать и вставить этот код в редакторе скриптов. Пример 2Debug.ShowWindow(true); seed_time = System.GetTime(TIME_FMT_SEC) .. System.GetTime(TIME_FMT_MIN) .. System.GetTime(TIME_FMT_HOUR); seed_input = seed_time..System.GetDate(DATE_FMT_JULIAN); Math.RandomSeed(seed_input); result1 = Math.Random(100); result2 = Math.Random(100); result3 = Math.Random(100); Debug.Print(result1 .. ", " .. result2 .. ", " .. result3 .. "\r\n"); seed_time = System.GetTime(TIME_FMT_SEC) .. System.GetTime(TIME_FMT_MIN) .. System.GetTime(TIME_FMT_HOUR); seed_input = seed_time .. System.GetDate(DATE_FMT_JULIAN); Math.RandomSeed(seed_input); result4 = Math.Random(100); result5 = Math.Random(100); result6 = Math.Random(100); Debug.Print(result4 .. ", " .. result5 .. ", " .. result6 .. "\r\n"); Math.RandomSeed(5647); result7 = Math.Random(100); result8 = Math.Random(100); result9 = Math.Random(100); Debug.Print(result7 .. ", " .. result8 .. ", " .. result9 .. "\r\n");В первой части этого примера, генератор случайных чисел выбирает начальное число путем составления чисел текущих секунд, минут, часов и даты (по юлианскому календарю). Использование этого способа обеспечивает постоянную уникальность начального значения, приводящую к случайной последовательности чисел. Однако, в последней части примера, значение начального числа остается все время одним и тем же, поэтому его результат всегда будет иметь одно и то же значение. Совет: Для проверки можно скопировать и вставить этот код в редакторе скриптов.
Смотрите также: Связанные действия
|