Добрый день. Большинство механизмов в Ро вполне понятно расписаны, во всех базах, кальках есть формулы, простые или не очень. Однако, когда я читал про алхимика и варку слим потов, у меня возник вопрос про начисление очков. В большинстве баз написано следующее: + 1 за 3 подряд сваренных пота + 3 за 5 подряд сваренных пота +10 за 7 подряд сваренных пота +50 за 10 подряд сваренных пота Конкретный механизм не указан. Собственно, выяснением, как конкретно начисляются очки, а также вопросом прогноза получаемых очков я занялся. С первым оказалось всё довольно просто. Спасибо @Hito , он экспериментально подтвердил следующий механизм начисления очков: +1 очко за 3 подряд сваренных пота. Чтобы получить ещё +3 очка, необходимо сварить ещё 2 пота без фейла. Чтобы получить ещё +10 очков, надо сварить ещё 2 пота без фейла и так далее. Если зафейлить, то всё начинается сначала, с трёх потов. Следующий вопрос, как это знание применить на практике. Сколько очков я получу за N сваренных потов? Для решения этой проблемы на языке программирования Питхон были написаны следующие функции: Код: import numpy as np import random as rnd def bol(Ch): R = rnd.random() if R <= Ch/100: return 1 else: return 0 def Varka6(N,Ch): List = np.array([[1,3,10,50],[3,5,7,10]]) s = 0 j = 0 P = 0 for i in range(N): Cp = bol(Ch) if Cp == 1: j+=1 else: j = 0 s = 0 if j >= List[1,s]: P += List[0,s] if s<3: s = s+1 else: s = 0 j = 0 return P С помощью последний функции был построен график зависимости среднего количества очков за одну попытку от шанса: Так как теоретическое описание этого графика для меня является нетривиальной задачей, я решил найти простую формулу, дающую приближённое значение. Я взял диапазон от 80 до 100 процентов и аппроксимировал полученные точки полиномом 2-ой степени. Вот график: Таким образом формула для расчёта среднего количества очков P при N попытках и шансе Ch: Код: P = N*(7/1717*Ch**2-36/70*Ch+324/19) или Код: A = 4.076875742025521526e-03 B = -5.213763413092734611e-01 C = 1.737883317930979032e+01 P = N*(A*Ch**2+B*Ch+C) Где ** -- возведение в степень. Погрешность составляет не более 0,04 очка на попытку(для среднего значения). Важное замечание! Эти формулы работают только на промежутке от 80% до 100% и выдают среднее значение. Так как в основе механизма лежит рандом, вы можете получить немного другой результат. Надеюсь, это исследование кому-то будет полезным.