Просмотр полной версии : Помогите решить задачку...
Sailor's Tale
06.04.2002, 04:03
Скажите, добрые люди, вот у меня есть эти точки и мне надо сделать так, чтобы они появились все в разное время в разном месте и заняли то положение которое вы сейчас видете. Как это сделать?
Зарание благодарю.
Создай массивы для каждого цвета. и пропиши в них координаты каждого дубликата.
Хотя, может и можно как-то по другому, через формулы, но я не Эйнштейн:)
Удачи!
Для решения этой задачи можно применить такой алгоритм.
1. Задаешь перед запуском массив объектов .
mass_w=NN;
mass_h=NN;
count_elements=mass_w*mass_h;
mass= new Array(mass_w*mass_h);
...........
далее в теле цикла
mass[i*mass_w+mass_h]=new Object();
mass[i*mass_w+mass_h].x=i;
mass[i*mass_w+mass_h].y=j;
mass[i*mass_w+mass_h].color=random(3);
2. Все .... теперь .
a=random(count_elements);
дублируешь, или аттачишь клипы в
mass[a].color -цвет
mass[a].x- положение по оси x
mass[a].y- положение по оси y
устанавливаешб для аттачнутого объекта нужные параметры
3. mass[a] присваеваешь mass[count_elements];
count_elements-- ;
4. Повторять пока count_elements>0;
Такой алгоритм будет замедляться к концу.
Вероятность того, что он поставит элемент с номером count_elements на нужное место, когда уже установлено count_elements-1 элементов равна (1/count_elements) при count_elements=100 (10*10) последняя итерация в основном цикле выполнится в среднем за время в 100 раз большее , чем первая.
Но существует отличная от нуля вероятность, что она выполнится за время в 1000000000 раз большее , чем первая. ;) В принципе прикольно, но уж больно нестабильный алгоритм.
Ща я пойду, придумаю может чего, исходник выложу.
Такой алгоритм будет замедляться к концу.
Для особо одаренных чуваков, которые продвинуты по теории вероятности.... :D :D :D
Прежде чем чо-то писать подумай, а может это правильно!!
Sailor's Tale
07.04.2002, 15:31
Спасибо за все, просто супер!
то-та..... :)
Примитив, а лечит. ;)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.