Создаю таблицу, которая эмулирует игру, имеется в игре производство ресурсов, так же есть бусты, которые временно увеличивают производство на 10%, 20% или 30%. Именно с реализаций этих бустов у меня проблема.
В Листе "Расчеты" проводятся все вычисления, на листе калькулятор, вносятся данные и выдаются необходимые значения. Все пояснения по калькулятору описаны в примечаниях. Все действия в листе "Расчеты" посекундны! сверяйтесь с таблицей "Кальулятора", чтоб найти нужное время в котором использовался буст.
В листе расчеты, для реализации бустов, я создал 3 столбца, выделил их желтым, - Столбец, "Завершение буста снабжения", отображает время, в которое их действие по увеличению производства ресурсов, должны прекратиться. Суммирую время активации буста и время действия самого буста. - В столбце, "Бонус Буста снабжения" - отображается значение, на которое увеличивается производство буста, "0,1", "0,2" или "0,3" соответственно. Эти значения появляются при использовании буста, и копируются дальше в низ по столбцу, они перемножаются с основным производством. - Да бы прекратить действие буста после его завершения, я ввел третью таблицу "Вычитание буста снабжение", относительно каждого момента времени, он ищет то же самое время в графе "Завершение буста снабжения", как только он находит время завершения какого то буста, то берет на этой же строчке из столбца "Бонус Буста снабжения" стоящее значение, после это значение вычитает "Бонус снабжения буста", тем самым прекращая действие бонуса в момент завершения действия буста Реализовано это через ВПР ( текущее время (столбец 14); Завершение буста снабжения : Бонус буста снабжения; Бонус буста снабжения; Ложь) Дело в том, что ВПР не всегда находит время, через раз
На листе Калькулятор, наглядно все видно, в момент времени 0:05:00 - Используется "Синий буст", время завершения его в 06:00. Видно что на момент использования буста в 5:00, производство ресурсов увеличилось и стало 697, Ниже отображается время 0:07:00 - видно, что производство ресурсов стало 634, значит действие буста успешно прекратилось, ВПР нашел время 06:00 Попробуйте изменить время активации буста на 0:05:01, просто прибавив одну секунду, и сразу увидите, что в 0:07:00, производство остается равно 697, то есть ВПР не находит время завершения буста 06:01, и производство остается повышенным постоянно! Почему так происходит? не могу понять, находит время через раз...
В листе "Здания" находятся все используемые данные.
Прошу прощения, но файл больше 100кб, я сократил но все ровно, В оригинале он на 1 час, а этот чуть больше чем на 7 минут.