Страница 1 из 1

ИИ считать не умеет

Добавлено: 30 авг 2026, 20:51
Темный Лорд
Повышение контактного урона:

Цена: 5, сумма: 0
Цена: 7, сумма: 5 \ 0+5=5 True
Цена: 8, сумма: 12 \ 5+7=12 True
Цена: 10, сумма: 20 \ 12+8=20 True
Цена: 13, сумма: 29 \ 20+10=29 False
Цена: 16, сумма: 42 \ 29+13=42 True
Цена: 20, сумма: 57 \ 42+16=57 False
Цена: 24, сумма: 76 \ 57+20=76 False


впечатление что прогнозируемая "Цена" учитывает формулу с округлением вверх, а последующий фактический подсчет который отображает "сумма" идет по формуле с округлением вниз, отсюда несоответствие

неважно куда, вверх или вниз, сделать бы одинаковые формулы для вычисления цены и суммы

Re: ИИ считать не умеет

Добавлено: 30 авг 2026, 23:33
phdoc
Это потому, что на самом деле там цены:
5
6.25
7.8125
9.765625
12.20703125
15.258789625

Ибо конкретный элемент геометрической прогрессии вычисляется по стандартной формуле:
basePrice * Math.pow(coefficient, points)
А сумма ряда элементов геометрической прогрессии вычисляется по другой стандартной формуле:
(basePrice * (Math.pow(coefficient, points) - 1)) / (coefficient - 1)

В каждом случае значение округляется вверх, поэтому сумма формуле может быть меньше суммы ранее округлённых элементов.

Чуть подробней, пожалуйста про ситуацию
Темный Лорд писал(а):
Вчера, 19:52
если снять один пункт, обратно его уже вернуть не получается, пишут недостаточно очков, хотя только что очков было достаточно

Re: ИИ считать не умеет

Добавлено: 31 авг 2026, 02:40
Темный Лорд
первая формула высчитывает и получает цифру 10
вторая формула высчитывает и получает цифру 9
раз обе формулы округляют вверх, тогда они разные цифры выходит считают

что высчитывает первая формула, она говорит игроку сколько надо потратить очков
что высчитывает вторая формула, она тратит эти очки
первая говорит надо потратить 10
вторая говорит пошла ты нафик, я потрачу 9
но если у игрока нету 10 очков, его не допустят ко второй формуле




возьмите ровно 29 очков и пробуйте взять на них 4 контактного урона, но не сразу все 4, а по одному, взяли 1, нажали галочку, взяли 2, нажали галочку, взяли 3, нажали галочку, 4 взять не получится

причина в этом:
Цена: 10, сумма: 20
Цена: 13, сумма: 29
после того как возьмете 3 пункта контакт, останется 9 свободных очков, а цена требует 10