Все очень просто: счетчик изменяет шанс шанс морали на "недовыданную" или "перевыданную" мораль. Т.е. если мораль пятерка, т.е. должно сработать 0,5 морали в среднем, при сработавшей морали сработало 0,5 "лишней" и после этого шанс уменьшается на 0,5. Если не сработала - наоборот.Nargott писал(а): ↑23 июн 2020, 03:03Написано непонятно, нужны примеры.принцип работы стабилизатора:
"В начале боя каждый игрок получает счетчик морали m = 0.
Вероятность сработать морали/дизморали равна (бд обозначает текущий боевой дух отряда):
P(i) = |бд| * 0,1 + m[i-1] * 0,1 * sgn(бд)
P(i) загоняется в отрезок [0; 0,2 * |бд|]
после каждого хода счетчик m модифицируется:
если мораль/дизмораль сработала
m(i) = m[i-1] + бд - 10 * sgn(бд)
если не сработала
m(i) = m[i-1] + бд
Что такое i?
Если это счетчик ходов, то получается (при +5 морали):
после первого срабатывания на второй ход m[1] (если используются скобки квадратные, то должны быть и тут, иначе путаница) = 0 + 5 - 10 = -5
после второго срабатывания на третий ход m[2] = -5 + 5 - 10 = -10
Подставляем в формулу для третьего хода:
P[3] = 5*0,1 - 10*1 = -0.5?
Что-то тут явно не так
И что значит - загоняется в отрезок? Значит ли это, что после вычисления результата, он "округляется" до ближайшей границы (в данном случае - до 0?). Но ведь даже и тогда на втором уже ходу выходит 0 шанс (5*0,1 - 5*0,1)
Или это просто комментарий, раскрывающий смысл формулы?
Правда, я сейчас какой-то баг нашла со стартовым счетчиком, но на дистанции это точно так работает.