???
Математика на уровне МГУ

Показано с 1 по 25 из 263

Тема: Авиабомбы (ФАБ, SC..)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Ответ: Авиабомбы (ФАБ, SC..)

    Цитата Сообщение от SOFAD Посмотреть сообщение
    Чёрный бомбер, ты сходил бы по ссылке что выложил грей. Там расписано как считается поражение объекта. Без всяких гипотез. Взято сие из кода.
    Читал его пост, ещё на иловском форуме давно писали как обсчитывается поражение объектов, только там было написано, что в куб надо возводить, а не в квадрат =) Но если делать расчёты по этим формулам, что в кубе, что в квадрате все равно нельзя обьяснить почему именно так взрываются Ла-5ФН и танки на треках. Об этом я и писал в начале своего поста. Они взрываются вопреки этим формулам...

  2. #2
    Курсант
    Регистрация
    07.05.2009
    Адрес
    Балаково
    Возраст
    52
    Сообщений
    133

    Ответ: Авиабомбы (ФАБ, SC..)

    Цитата Сообщение от Чёрный бомбер Посмотреть сообщение
    ... все равно нельзя обьяснить почему именно так взрываются Ла-5ФН и танки на треках. Об этом я и писал в начале своего поста. Они взрываются вопреки этим формулам...
    У каждого типа объектов свой метод обсчета урона от взрыва. Танки считаются совершенно не так как дома...

    Для домов:
    recivedPower = Power*(1-dist/Radius)^2
    простенько и без изысков - далее этот урон сравнивается с параметрами TNT_MIN и TNT_MAX этого дома.

    Для танков используется следующий порядок подсчета:
    f = 1/(dist^1.200000047683716)
    if f>=0.5 then f=0.5
    recivedTNTPower = Power*f
    recivedTNTPower *= Rnd(0.95,1.05) (прикольно - типа плюс-минус 5% разброс)

    Далее в зависимости от recivedTNTPower и PANZER_TNT_TYPE танка, вот по этой табличке получается некое значение (f2 для примера):

    (по горизонтали - recivedTNTPower, по вертикали - PANZER_TNT_TYPE)
    0.5 1.0 2.25 6.25 12.0 22.5 62.5
    1 9999 15 3 2 0.7 0.0 0.0 ; tanks 7 tonns
    2 9999 60 15 8 0.9 0.0 0.0 ; tanks 12 tonns
    3 9999 9999 2000 100 1.3 0.8 0.0 ; tanks 22 tonns
    4 9999 9999 9999 2000 1.4 0.9 0.0 ; tanks 31 tonns
    5 9999 9999 9999 2500 2.0 1.0 0.0 ; tanks 45 tonns
    6 9999 9999 9999 3000 4.0 1.5 0.0 ; tanks 55 tonns
    7 9999 9999 9999 5000 7.0 2.0 0.0 ; tanks 70 tonns

    и вступает в действие вот такая конструкция:
    if ((f2 < 1000.0) && (((f2 <= 1.0) || (RndB(1.0 / f2))))) then "танк убит"

    т.е. если f2 больше либо равен 1000 - танк однозначно цел
    если f2 меньше, либо равен 1 - танк однозначно уничтожен
    если внутри "вилки" - кидается rnd - RndB() возвращает истину, если ее параметр (в данном случае 1/f2) больше случайного числа от 0 до 1.

    Артиллерия и машины считаются аналогичным образом, только таблички другие...

  3. #3

    Ответ: Авиабомбы (ФАБ, SC..)

    grey1209
    Спасибо

    Мда... ОМ придумал 29-колёсный велосипед o.0
    Бедный мой процессор, который обсчитывает всё ЭТО...

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •