
22.11.2005, 15:17
|
|
Регистрация: Jan 2004
Адрес: Украина, Харьков
Сообщений: 1,524
|
а это смотря как у тебя это реализовано %)),
могу пердложить такой вариант:
у тебя клеточки расположены по окружности, на ней допустим 40 т.е.
угол_поворота= рандом(н)*40+рандом(40)
даст угол поворота шарика по клеткам (где н - максимальное количество поворотов) %));
дельта_угол= 360/40 - даст реальный угол для каждого поля т.е.
теперь
весь_угол = дельта_угол*_угол_поворота; - реальный полный угола поворота шарика, этак градусов 700-1000 ну или больше %))
ну а шарик перемещаешь по полю использую тригонометричесие функции синус и косинус
шарик._х = рудиус_рулетки*косинус(угла);
шарик._y = рудиус_рулетки*синус(угла);
где угол изменяется от 0 до полученного весь_угол по условию которое ты придумаешь %))), можно его изменять конечно линейно угол+=дельта_конст, но так скорость врашения будет всегда одинаковой, а вот если эту лельту менять по какойнить формуле то можно сделать плавную остановку шарика
Код не даю - думай сам и пиши, тернируйся, в нашей жизни главное алгоритм, а я тебе его дал.
Если какие-то непонятки, то присылай вопросы и код
Последний раз редактировалось __i; 22.11.2005 в 15:21.
|