PDA

Просмотр полной версии : Random


TurboDizel
09.04.2010, 23:18
Привет. Как сделать что бы переменная выбирала произвольное число от 1 до 2? То есть 1 или 2. Если можно, пожалуйста ответьте =)
Вот если вопрос не понятно задал, то вот просто примерно написал смысл того что должно выйти

var randomvar=random(1 до 2);

Заранее благодарю

Добавлено через 3 минуты
В очередной раз не дождавшись ответа уже разобрался сам=)

var randomvar=random(2);

Все равно спасибо)

AzagThoth
09.04.2010, 23:24
var randomvar:Number=Math.floor(Math.random()*2)+1;
Так.

TurboDizel
09.04.2010, 23:27
var randomvar:Number=Math.floor(Math.random()*2)+1;
Так.
Хм. А у меня и таким способом как я показал работает. Чем различаются данные два кода?

in4core
09.04.2010, 23:37
в данном случае ничем

AzagThoth
09.04.2010, 23:59
random
Доступность
Flash Player 4. Функция устарела во Flash 5 с появлением Math.random().

Синтаксис
random(value)

Параметры
value Число .

Возвращает
Число.

Описание
Функция; возвращает случайное число от 0 и до числа, на единицу меньше, чем указано в параметре value, включительно.

Пример
При следующем использовании random() может возвратить значения 0, 1, 2, 3 или 4:

То есть всё равно по Вашей задаче случайное число 1 или 2 Ваш код:
var randomvar=random(2)
не подходит.
Тогда уже:
var randomvar=random(2)+1
Разница в том, что Ваш способ более быстродейственный, а мой более медленный.
Убедиться можно так:
t=getTimer();
for(i=0; i<200000; i++){
randomvar=Math.floor(Math.random()*2)+1;
}
trace(getTimer()-t);
t=getTimer();
for(i=0; i<200000; i++){
randomvar=random(2)+1;
}
trace(getTimer()-t);
В оутпуте:
1647
649
Как видите разница почти в три раза. Ваш код лучше.

в данном случае ничем

Как видите, Вы не правы.

in4core
10.04.2010, 01:02
Скорость тут не причем. разговор был про результат

AzagThoth
10.04.2010, 04:11
Скорость тут не причем. разговор был про результат
Разговор был про разницу :)
Чем различаются данные два кода?
различаются скоростью.
А вообще на этот вопрос лучше пускай ТурбоДизель ответит, чтобы мы тут не гадали с Вами.