Показать сообщение отдельно
Старый 22.11.2005, 15:17
__i вне форума Посмотреть профиль Отправить личное сообщение для __i Найти все сообщения от __i
  № 9  
Ответить с цитированием
__i
 
Аватар для __i

Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
Отправить сообщение для __i с помощью ICQ
а это смотря как у тебя это реализовано %)),
могу пердложить такой вариант:
у тебя клеточки расположены по окружности, на ней допустим 40 т.е.
угол_поворота= рандом(н)*40+рандом(40)
даст угол поворота шарика по клеткам (где н - максимальное количество поворотов) %));

дельта_угол= 360/40 - даст реальный угол для каждого поля т.е.

теперь
весь_угол = дельта_угол*_угол_поворота; - реальный полный угола поворота шарика, этак градусов 700-1000 ну или больше %))

ну а шарик перемещаешь по полю использую тригонометричесие функции синус и косинус

шарик._х = рудиус_рулетки*косинус(угла);
шарик._y = рудиус_рулетки*синус(угла);

где угол изменяется от 0 до полученного весь_угол по условию которое ты придумаешь %))), можно его изменять конечно линейно угол+=дельта_конст, но так скорость врашения будет всегда одинаковой, а вот если эту лельту менять по какойнить формуле то можно сделать плавную остановку шарика

Код не даю - думай сам и пиши, тернируйся, в нашей жизни главное алгоритм, а я тебе его дал.
Если какие-то непонятки, то присылай вопросы и код


Последний раз редактировалось __i; 22.11.2005 в 15:21.