Генератор випадкових чисел в ActionScript, Edapskov
Для генерування випадкових чисел уActionScript 2.0є два спеціальні методи:
Метод random() повертає випадкові числа в діапазоні від 0 до числа, яке на одиницю менше, ніж зазначене як параметр цього методу.
Код ActionScript 2.0:
У наведеному вище прикладі програма генеруватиме випадкові числа від 0 до 11 (але не 12).
В результаті кількох запусків наведеного вище коду панель Output були виведені наступні випадкові числа:
На даний момент метод random() вважається застарілим та його використання не рекомендується.
2.) методrandom()класуMath
Math.random() повертає випадкові числа у діапазоні від 0 до 1.
Код ActionScript 2.0:
Після кількох запусків програми в Output (спеціальна панель програми, в якій виводяться результати трасування), у мене виявилися наступні числа:
Щоб отримати випадкове число в інтервалі від 0 до заданого числа, достатньо помножити результат роботи цієї функції на задане число. Наприклад, для отримання випадкового числа x, яке б задовольняло умові 0 trace(Math.random()*10)
Щоб отримати випадкове число не в інтервалі від 0 до заданого числа, а в діапазоні від одного заданого до іншого заданого числа, можна використовувати конструкцію наступного виду:
(максимальне_значення - мінімальне_значення) * Math.random() + мінімальне_значення;
Так, для отримання випадкового числа в діапазоні від 50 до 100 можна застосувати наступний код:
Саме метод Math.random() рекомендовано використовувати замість застарілого random().
Насправді, зазвичай, потрібні цілі випадкові числа. Тому Math.random() часто використовується у поєднанні з методамиокруглення. Для округлення чисел в ActionScript застосовується три спеціальні методи:
I.)Math.round()- округлення числа за математичними правилами
Якщо дробова частина числа менше 0.5, то число буде округлено до найближчого найменшого цілого числа, а якщо число дорівнює або більше 0.5, воно буде округлено до найближчого найбільшого цілого числа.
Код ActionScript 2.0:
Цей код поверне "1".
II.)Math.floor()- округлення до найближчого меншого цілого числа
Код ActionScript 2.0:
Цей код поверне "0".
III.)Math.ceil()- округлення до найближчого більшого цілого числа
Код ActionScript 2.0:
Цей код поверне "1".
Використовуючи метод Math.random() у поєднанні з одним із методів округлення, можна отримати випадкове число в заданому діапазоні. Так, наприклад, для виведення випадкових чисел в інтервалі від 0 до 10 (включно) можна використовувати наступний код:
Врахуйте, що використання різних методів округлення може впливати на результат, що повертається. Так, наступний код поверне вже випадкові числа лише від 0 до 9 (включно):
Для отримання випадкового числа із заданою кількістю символів після коми можна скористатися кодом приблизно наступного виду:
Цей код поверне випадкове число в діапазоні від 0 до 100 із двома знаками після коми.
ВActionScript 3.0для отримання випадкових чисел також використовується методMath.random(), який також повертає випадкове число з плаваючою комою в діапазоні від 0 до 1.
Код ActionScript 3.0:
Описані раніше прийоми до роботи з випадковими числами в ActionScript 2.0, працюватимуть й у ActionScript 3.0 (методи округлення у цих мовах теж ідентичні).
[!] В ActionScript(незалежно від версії мови) ціла частина числа відокремлюється від дробової не комою, а точкою. Наприклад:
[!] Вбудований генератор випадкових чисел (правильніше, псевдовипадкових) далеко не ідеальний і розробники іноді вдаються до написання власних генераторів випадкових значень (приклади можна легко знайти в мережі).
Дата завантаження: 2011-07-21
Рейтинг посту: 31