MC Toolkit / Калькуляторы / Калькулятор разведения лошадей / Прогноз потомства — Калькулятор разведения лошадей
Прогноз потомства — Калькулятор разведения лошадей
Предскажите здоровье, прыжок и скорость жеребёнка по родителям, по точной формуле наследования из кода игры.
Parents
Parent A
Parent B
Допустимые диапазоны: Здоровье 15–30 HP, Прыжок 1.09–5.29 блоков, Скорость 4.74–14.23 б/с. Значения вне этого диапазона будут приведены к ближайшему допустимому значению перед симуляцией. Оба родителя должны быть накормлены Золотым яблоком или Золотой морковью в игре, прежде чем они смогут размножаться.
Foal Outlook
Per-Stat Prediction
How This Is Computed
Real Stat Ranges (Java Edition)
| Stat | Legal range | Displayed as |
|---|---|---|
| Max Health | 15 – 30 | HP (2 HP per heart) |
| Jump Strength | 1.09 – 5.29 | Blocks of jump height |
| Movement Speed | 4.74 – 14.23 | Blocks per second |
Сила прыжка и Скорость передвижения отображаются в блоках и блоках в секунду. В самой игре они хранятся как сырой атрибут (Сила прыжка 0.4–1.0, пропускаемый через кривую высоты прыжка height = -0.1817v³ + 3.689v² + 2.128v - 0.343, что даёт реальную минимальную высоту в блоках ~1.09, а не 0; Скорость 0.1125–0.3375 блоков за тик, примерно ×42.16 для перевода в блоки/секунду при 20 тиках/секунду). Симуляция работает на этом сыром атрибуте, как и игра, и переводит в блоки / блоки в секунду только для отображения — именно так эти числа показываются в большинстве модов на статистику.
The Offspring Formula
Каждый показатель жеребенка — Здоровье, Сила прыжка и Скорость передвижения — рассчитывается независимо, используя точно такую же формулу из AbstractHorse.createOffspringAttribute кода игры (это также относится к ослам и мулам):
midpoint = (parentA + parentB) / 2range = statMax - statMinfor that stat’s legal rangespread = |parentA - parentB| + 0.3 × rangeroll = (random() + random() + random()) / 3 - 0.5— три независимых броска от 0 до 1 усредняются, затем перецентрируются на нулеfoalValue = midpoint + spread × roll- Если результат выходит за допустимый диапазон, игра отражает его обратно на величину превышения (
max - (foalValue - max)), и этот инструмент делает так же — поэтому два родителя с максимумом дают в среднем около 13.84 б/с скорости, а не предельные 14.23.
Усреднение трех случайных бросков (шаг 4) вместо использования одного плоского броска приводит к тому, что результат группируется вокруг средней точки, а не распределяется равномерно — большинство жеребят оказываются довольно близко к среднему значению своих родителей, с редкими выбросами к любому краю.
Используется реальная ванильная формула атрибутов потомства (средняя точка родителей + разброс, основанный на разнице, рассчитанный с помощью 3 усредненных случайных значений), запущенная как клиентская симуляция Монте-Карло — результаты являются вероятностными оценками из множества симулированных бросков, а не одним детерминированным ответом, что соответствует тому, как работает реальная игра. Сила прыжка и скорость показаны в более интуитивно понятных единицах блоков/блоков в секунду, а не в необработанных значениях атрибутов.