Разлёт
![]() |
Незавершённая статья
Вы можете помочь Нам, дополнив её недостающим материалом. |
Разлет - это радиус круга вокруг точки, удаленной на 100 метров. Если цель ближе - то и кружок меньше. В круге выбираем рандомную точку. Смотрим, в какую клетку попадает эта точка. В эту клетку строится траектория полета пули.
В пулемете написано: разлет 20 (радиус круга).
До цели 50 метров. Радиус круга - 10 метров.
До цели 25 метров. Радиус круга - 5 метров.
До цели 10 метров. Радиус круга - 2 метра.
До цели 5 метров. Радиус круга - 1 метр.
До цели 2.5 метра. Радиус круга - 0.5 метров. (начиная с этого расстояния все пули пойдут в одну клетку - ту, где стоит цель)
До цели 1 метр. Радиус круга - 0.2 метра.
shkin
Стрелок внизу
Большая красная точка - атакуемая клетка
Точность отображается, исходя из расстояния до этой клетки по стандартной формуле
Разлет - половина верхней линии на 100 метрах. Угол = atan(разлет/100)
Розовые клетки - куда потенциально может попасть пуля
Для каждой пули выбирается рандомная точка на верхней красной линии - зеленая точка. Распределение равномерное, т.е. все точки равновероятны от стрелка до этой точки простраивается линия - которая зеленая по Брезенхейму заполняется список клеток, которые эта линия пересекает (отмечены кривыми зелеными точками) если в клетке кто-то есть - производится проверка на попадание, исходя из стандартной формулы, если не попали - пуля летит дальше
от положения цели (спиной, боком и т.д.) ничего не зависит. Практически все цели, кроме собак, ~осесимметричны
shkin