А что сложного то О_о
Quote (Dreii)
GetNextExpansion="Следующий Город"
GetNextExpansion="Следующий город"
GetNextExpansionHint="Возвращает ID города для последующего расширения"
К примеру такая функция оч простая, нужно всего лишь определить ближайший рудник, а так же есть ли возможность достигнуть его по земле. Определяешь порядок проверки рудников, в зависимости от дистанции между стартовой точкой и рудником, далее пускаешь дамми, если он может достигнуть рудника, значит можно считать его как "следующий город" Наверняка есть лучше сопосбы, думать лень.
Quote (Dreii)
FoodUsed="Потребляемая Пища"
FoodUsed="Потребляемая пища"
FoodUsedHint="Общее количество пищи, потребляемое игроком"
Создается база в которой забиваем кол-во которое жрут юниты, выделяем всех юнитов плеера, юзаем нашу базу, считаем - выводим, все примитивно.
Quote (Dreii)
TotalFoodProduced="Производимая Пища"
TotalFoodProduced="Производимая пища"
TotalFoodProducedHint="Общее количество пищи, производимое в настоящее время игроком"
Аналогично выше приведенному.
Quote (Dreii)
GetFoodMade="Пища производимая Юнитом"
GetFoodMade="Пища производимая",~Unit Type," юнитами"
Как расширение вышеприведенного.
Quote (Dreii)
CommandsWaiting="Ожидающие Команды"
CommandsWaiting="Количество ожидающих команд"
CommandsWaitingHint="Команды можно отдавать триггерами карты 'Прикладной Интерфейс AI - Отдать Команду'."
Не совсем понял что ты этим хочешь сказать.
Quote (Dreii)
CaptainGroupSize="Состав Группы Нападения"
CaptainGroupSize="Состав группы нападения"
CaptainGroupSizeHint="Текущее количество юнитов в группе нападения."
Фунция подсчета юнитов в группе есть, в варе у АИ нету в принципе таких вещей как группа нападения\защиты, там есть только армия.
Quote (Dreii)
CaptainReadinessHP="Степень Здоровья Группы Нападения"
CaptainReadinessHP="Степень здоровья группы нападения"
CaptainReadinessHPHint="Уровень здоровья определяется средним показателем здоровья группы, полное здоровье равно 100."
Что мешает пикнуть всех и проверить состояние здоровья, такая функция есть - 2 строчки, вывести среднее арифметическое.
Quote (Dreii)
CaptainReadinessMa="Уровень Маны Группы Нападения"
CaptainReadinessMa="Уровень маны группы нападения"
CaptainReadinessMaHint="Уровень маны определяется средним показателем маны группы, полная мана равна 100."
аналогично...
Quote (Dreii)
CurrentAttackWave="Текущая Волна Атаки"
CurrentAttackWave="Текущая волна атаки"
CurrentAttackWaveHint="Волны атаки определены в списке атак."
Не совсем вкурил.
Quote (Dreii)
MeleeDifficulty="Уровень Сложности Нападения"
MeleeDifficulty="Уровень сложности Нападения"
Создаешь базу с индексами мощьности юнитов, исходя из уровня сложности будут варианты групп юнитов, индексы мощьности которых будут удовлетворять "уровню" Но вообще хочу отметить что подобные вещи = не мало проверок и расчетов, будет нефигова так жрать ресурс.
Вообще АИ легко писать, если логика развита. Секрет прост. Представляешь ситуацию которая может быть перед тобой, анализируешь свою реакцию и почему ты так сделал, исходя из чего. Потом описываешь с помощью языка(благо функцоинал ничотак у жасс) и готово. Хочу только отметить что жасс медленный как черепаха, какой бы код идеальный небыл, так что миллион условий нельзя делать. И тем более переодические триггеры с маленьким периодом противопоказаны.
Вот если бы близы сделали компилятор который комплировал б все в байткод, дали б ООП, и реализацию ммо ядра :3 Короче мечты.