Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2009-12-08 12:36:33 ЛС | профиль | цитата
sla8a писал(а):
Меня больше интересовал способ определения места попадания и подсчет очков

очки за место попадания считаем как расстояние от центра

r^2 = (x0 - x)^2 + (y0 - y)^2
где
r - искомое расстояние
(x0,y0) координаты центра доски
(x,y) точка попадания в доску

и угол наклона луча, с центром в точке (x0, y0) и проходящего через точку (x,y)

a = atan(x0 - x, y0 - y) / pi * 180

в упрощенном случае можно давать одно и тоже количество очков при попадании в окружность равного радиуса, тогда очки считаются только через r. Например:


score = max(0, (1 - r/L)*100)
где L - радиус доски, а max - ограничение на получение очков при попадании вне ее поверхности
100 - максимальное количество очков при попадании в самый центр
карма: 26
2
Голосовали:sla8a, Konst