У меня на карте есть здание, которое стоит 225 дерева. Это здание может делать улучшения, которые работают только на само здание.
Стоимость улучшения первого уровня - 450 дерева.
Второго улучшения - 675.
Третьего - 900, и т. д. (растёт на 225 дерева).
Второго улучшения - 675.
Третьего - 900, и т. д. (растёт на 225 дерева).
Помогите написать формулу или функцию, которая будет возвращать стоимость здания, учитывая все улучшения, функция может брать уровень улучшения (возможно, еще что-то, если нужно).
Например, если здание имеет улучшение третьего уровня, функция должна вернуть: стоимость самого здания + стоимость улучшения первого уровня + стоимость улучшения второго уровня + стоимость улучшения третьего уровня.
З = 225 = 225
З + У1 = 225 + 450 = 675
З + У1 + У2 = 225 + 450 + 675 = 1350
З + У1 + У2 + У3 = 225 + 450 + 675 + 900 = 2250
З + У1 + У2 + У3 + У4 = 225 + 450 + 675 + 900 + 1125 = 3375
Принятый ответ
мб с циклом
int GetPrice (unit whichUnit)
{
int i = GetPlayerTechCount( GetOwningPlayer( whichUnit ), techId, true )
int a=225
loop {exitwhen(i<=0); a=a+(i+1)*225; i=i-1}
return a
}
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован Тимур
Отредактирован scopterectus
Отредактирован MpW
Отредактирован biridius