Всем привет. Цивилизация 5 BNW.
Население 3, строю поселенца, (см. 1-й скриншот) ставлю горожан на молотковые клетки, т.к. город не потребляет еды во время постройки поселенца, молотков 9, что логично, 3 от Дворца и 6 от ланшафта, НО ставлю на крабов (2-й скриншот), и вижу те же 9 молотков, "базово 7", "всего 9", откуда взялись 2 дополнительных молотка??? Ведь выгодно тогда ставить на краба, т.к. дается +1 золото, а в самом начале игры каждый дополнительный ресурс важен. Пробовал разные варианты перестановки горожан, только эти два варианта дают 9 молотков, который позволяет за максимальный срок в 7 ходов построить посела.
1-й Скриншот
2-й Скриншот
Приглашаю играть в цив5 без одновременных ходов. Ник в стиме dmitr00.
Азбука сетевой игры. Новичкам для обучения, опытным для обсуждения и критики.
Это и есть точная формула.
Приглашаю играть в цив5 без одновременных ходов. Ник в стиме dmitr00.
Азбука сетевой игры. Новичкам для обучения, опытным для обсуждения и критики.
Это точная формула, просто ее применение может быть не очевидно из-за того, что избыток еды (яблок) не отображается при постройке посела.
Хотя все просто считается: на втором скрине кол-во избыточных яблок равно двум (всего клетки дают 8 яблок, а 3 жителя съедают 6 яблок). Соответственно смотрим строку "2 яблока = +2 молотка".
Приглашаю играть в цив5 без одновременных ходов. Ник в стиме dmitr00.
Азбука сетевой игры. Новичкам для обучения, опытным для обсуждения и критики.
Прочитал на стратегиуме избыток более 4 яблок конвертируется в молотки на поселенца с коэффициентом 0,25. То есть каждые 4 яблока дают еще 1 молоток. И похоже на правду, проверил сейчас при старте с античности.
На избытке в 8 яблок добавилось 4 молотка.
Приглашаю играть в цив5 без одновременных ходов. Ник в стиме dmitr00.
Азбука сетевой игры. Новичкам для обучения, опытным для обсуждения и критики.
Округление вниз.Код:int CvCity::GetFoodProduction(int iExcessFood) const { int iRtnValue; if(iExcessFood <= 0) { iRtnValue = 0; } else if(iExcessFood <= 2) { iRtnValue = iExcessFood * 100; } else if(iExcessFood > 2 && iExcessFood <= 4) { iRtnValue = 200 + (iExcessFood - 2) * 50; } else { iRtnValue = 300 + (iExcessFood - 4) * 25; } return (iRtnValue / 100); }