Остаточні результати тут!
Вступ
Гра бере натхнення на Ману Гра міста . Це відбувається у світі мечів і магії. Король, який правив усім континентом, просто загинув, а пани багатьох міст-держав зараз воюють за територію. Ви один з цих панів, і ваша мета - завоювати і правити кожним містом.
Принцип
Люди поділяються на 8 класів :
Warlocks : Fighter (magic)
Crusaders : Fighter (melee)
Amazons : Fighter (range)
Corsairs : Utility (steal, guard, transport)
Bishops : Utility (convert, exorcize)
Necromancers : Utility (resurrect)
Architects : Utility (build)
Peons : Resource (income, recruits)
Коли гра починається, ви керуєте одним містом. У кожному місті є 100 чоловік . Ви повинні розділити їх між цими 8 категоріями.
Потім починається власне гра, яка покрокова. Поворот складається з 12 фаз , 7 з яких є інтерактивними (прохання ботів про команду). Наступна фаза починається, коли попередній етап виконується кожним містом (Фаза 1: Місто 1, місто 2, місто 3 ...; Фаза 2: місто 1, місто 2, місто 3 ...):
1. Raise Taxes - AUTOMATED
2. Steal Money - INTERACTIVE
3. Recruit Troops - INTERACTIVE
4. Pay Wages - AUTOMATED
5. Try Revolt - AUTOMATED
6. Convert Soldiers - INTERACTIVE
7. Attack Town - INTERACTIVE
8. Raise Corpses - INTERACTIVE
9. Move Army or Tribute - INTERACTIVE
10. Defend against Threats - AUTOMATED
11. Construct Buildings - INTERACTIVE
12. Make Children - AUTOMATED
Контролер надає вам введення через аргументи команд, ваша програма повинна виводити через stdout.
Синтаксис
Вихідні дані (підготовка)
Перед початком гри контролер викликає вашу заявку без аргументів. Це означає, що вам потрібно розподілити 100 людей на 8 категорій.
Вам потрібно вивести:
Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects Peons
Наприклад: 15 10 12 10 7 5 1 40
.
Кожне місто також починається з 500 золотих та 5 трупів.
Введення
Щоразу, коли ваша програма викликається, вона отримуватиме аргументи у такому форматі:Round;Phase;YourPlayerId;YourTownId;PlayerId_TownId_Gold_Corpses_Warlocks_Crusaders_Amazons_Corsairs_Bishops_Necromances_Architects_Peons_Temples_Barracks_Estates_Palaces;PlayerId_TownId_Gold_Corpses_Warlocks_Crusaders_Amazons_Corsairs_Bishops_Necromances_Architects_Peons_Temples_Barracks_Estates_Palaces;...
Приклад введення
1;2;1;1;0_0_600_5_15_10_12_10_7_5_1_40_0_0_0_0;1_1_700_5_15_10_12_10_7_5_1_40_0_1_0_2;...
Ось, ви бачите, що це 1-й раунд, 2-й етап, ви гравець 1 у місті 1. У вас є 700 золотих, 5 трупів, 15 бойовиків, 10 хрестоносців, 12 амазонок, 10 корсарів, 7 єпископів, 5 некромантов, 1 архітектор, 40 пенонів, 0 храмів, 1 казарма, 0 садиб та 2 палаци.
Вихідні дані
Дивіться геймплей.
Ігровий процес
Усі фази
Команда W
= ЗАЧЕКАЙТЕ
Недійсна команда = ЗАЧЕКАЙТЕ
Фаза 1: Підвищення податків
Дохід генерується відповідно до вашого населення та завершених будівель:
+5 gold * Peons
+2 gold * (Warlocks + Bishops + Necromancers) * TEMPLES
+2 gold * (Crusaders + Amazons) * BARRACKS
+2 gold * (Corsairs + Peons) * ESTATES
+10 gold * PALACES
Фаза 2: Вкрасти гроші
Під час цієї фази ви можете вкрасти гроші з одного міста, надіславши Корсар. Кожен Корсар може вкрасти до 10 золотих (тобто 12 Корсарів можуть вкрасти до 120 золотих). Якщо в цільовому місті не вистачає золота, ваші корсажі вкрадуть все, аж до максимальної суми боргу: 200 золотих . Якщо ви спробуєте надіслати більше корсарів, ніж у вас є, програма використовуватиме всі ваші наявні корсари.
Синтаксис команд :S DestinationId Corsairs
Фаза 3: Вербування військ
Тут ви можете тренувати свої пеони, витративши трохи золота. Ви можете набрати скільки завгодно одиниць, доки у вас буде достатньо півоній та золота. Якщо ви спробуєте набрати більше, ніж ви насправді можете, гра буде набиратися випадковим чином, поки все не буде витрачено. Програма поважає ваші максимальні квоти (якщо ви спробуєте набрати 10 хрестоносців і 5 амазонок, які мають лише 8 пенонів, наприклад, він набере 6 хрестоносців і 2 амазонки, а не 8 амазонок або 8 магістралей).
Warlock : 10 gold
Crusader : 10 gold
Amazon : 10 gold
Corsair : 12 gold
Bishop : 20 gold
Necromancer : 20 gold
Architect : 15 gold
Синтаксис команд :R Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects
Фаза 4: Виплата заробітної плати
Заробітна плата списується відповідно до вашого населення:
-1 gold * (Warlock + Crusaders + Amazons)
-2 gold * (Corsairs + Bishops + Necromancers + Architects)
Фаза 5: Спробуйте бунт
Якщо ваш баланс від'ємний, ви втрачаєте контроль над своїм містечком до вигнанців . Після повстання золото міста скидається до початкової вартості: 500 золотих . Населення підтримується на своєму нинішньому рівні.
Фаза 6: Перетворення солдатів
Кожен з ваших єпископів може перетворити 1 солдата ворога (магістраль, хрестоносців чи амазонки) з обраного міста за плату 50 золотих за одиницю. Перетворені підрозділи об'єднують сили, розташовані у вашому місті. Як і у випадку набору, якщо у вас немає достатньої кількості золота чи єпископів, програма перетвориться випадковим чином, дотримуючись квот.
Синтаксис команд :C DestinationId Warlocks Crusaders Amazons
Фаза 7: місто атаки
Ви можете відправити армію Ворлоків, хрестоносців та амазонок, щоб завоювати місто. Якщо ви спробуєте надіслати більше, ніж у вас, програма надішле всіх.
Солдати отримують 1,5 бойового бонусу за цією схемою: Mage > Range > Melee > Mage
(т. Е. Ворлок, що бореться з Амазонкою, набирає 1,5 сили). Лише одиниці, що перевищують, отримують цей бонус. Бонус приписується як злочину, так і захисту.
Втрати розподіляються випадковим чином між одиницями переможця відповідно до втраченої сумарної потужності (тобто сила наступу: 12 проти сили оборони: 14, захист перемагає і програє 12 одиниць). Невдаха втрачає всі свої одиниці. Кожна мертва одиниця додається до числа трупів атакованого міста. Якщо злочин переможе, місто захоплюється і тепер належить нападнику. Він також зберігає золото, трупи та пеони, які були в цьому містечку. Корсари, єпископи, некроманти та архітектори рятуються перед потенційним гнобленням.
Захист нічого не отримує.
Синтаксис команд :A DestinationId Warlocks Crusaders Amazons
Фаза 8: Підняття трупів
Кожен ваш некромант може воскресити до 5-ти пенонів, споживаючи трупи і витрачаючи золото. Кожен воскреслий Пеон коштував 1 труп і 20 золотих. Якщо ви спробуєте воскресити більше, ніж можете, програма витратить усе, що у вас є.
Синтаксис команд :R Corpses
Фаза 9: Переміщення армії чи данини
Ви можете відправити одиниці в інше місто. Якщо ви спробуєте надіслати більше, ніж у вас, програма надішле всіх.
Синтаксис команд :M DestinationId Warlocks Crusaders Amazons Corsairs Bishops Necromancers Architects
Або ви можете відправити золото, зайнявши кораблі Corsairs. Кожен корсар може перевезти до 200 золотих . Якщо ви спробуєте надіслати більше, ніж у вас є, програма надішле те, що у вас є.
Синтаксис команд :T DestinationId Gold
Фаза 10: Захист від загроз
Кілька загроз загрози завдати шкоди вашому місту:
- Зомбі: Мертві не завжди такі мертві, як виглядають. 10% трупів у вашому місті прокинуться і з'їдуть мізки. Кожен зомбі з'їсть 1 Пеон, а потім блукає в небуття (Трупи як Зомбі, так і з'їдених Пеонів споживаються).
- Демони: Вашим пеонам потрібно почути проповіді, інакше вони почнуть викликати Темних Духів. Кожен ваш єпископ покриває потреби до 50 пеон. 10% (у підлогу) ваших єретиків (Пеони в надлишку) породять демонів. Демони вбивають по 1 Пеона кожен і повертаються в пекло (Трупи Пеонів додаються до міського рахунку).
- Бандити: Розпусники живуть по сусідству. Загальне населення Outlaws справедливо розподілено між містами та направляється на крадіжку багатств. Ваша єдина захист - це патрульні корсарів. Кожен корсар може зупинити до 5 розгулів. Кожен із законів, які не зупиняються, викрадає у вашого міста 10 золотих (максимальний борг міста - 200 золотих)
На початку гри формується щонайменше 1 місто Outlaws (100 населення), потім ще 1 на кожні 5 гравців (тобто 1-4 гравців: 1 Outlaws, 5-9 гравців: 2 Outlaws ...). Позори можна визнати за допомогоюid = -1
Фаза 11: Будівництво будівель
Досягнувши цієї фази, будівництво будівель у вашому місті прогресує відповідно до кількості архітекторів. Кожен архітектор збільшує добудову єдиної будівлі на 8%. Коли будівля досягне 100%, вона завершується і починає приносити доходи в наступній фазі "Податки". Черга на будівництво керується автоматично (перший прихід, перший сервіс).
Потім можна також розпочати побудову інших будівель (BuildingId = Буква в дужках):
TEMPLE (T) : 200 Gold
BARRACKS (B) : 200 Gold
ESTATE (E) : 200 Gold
PALACE (P) : 500 Gold
Ви можете розпочати будівництво стільки будівель, скільки захочете, і якщо у вас недостатньо золота, будівництво буде проігноровано. Будівництво ваших нових будівель розпочнеться лише наступного раунду.
Синтаксис команд :B BuildingId BuildingId BuildingId ...
Фаза 12: Зробити дітей
Кожні п'ять раундів (5, 10, 15 ...) нові Пеони будуть народжуватися і готові до боротьби. Кожна пара Peons складе 1 Peon (тобто 23 Peons генерують 11 нових Peons).
Правила
- Ботів не слід писати, щоб бити або підтримувати конкретних інших ботів.
- Запис у файли дозволяється. Будь ласка, напишіть на "tvojeubmissionname.txt", папка буде видалена перед початком гри. Інші зовнішні ресурси заборонені.
- На ваш запит є 1 секунда для відповіді (за місто).
- Укажіть команди для складання та запуску подань.
Перемога
Переможець - той, у кого найбільше міст після 100 турів. Якщо гравець захоплює всі міста, гра зупиняється і він виграє. Якщо декілька гравців мають однакову кількість міст, підрахуватиметься загальна кількість населення, то кількість золота.
Контролер
Ви можете знайти контролер на github. Він також містить 2 вибірки, написані на Java. Відкрийте його в Eclipse, помістіть складені боти в кореневу папку і додайте клас до керуючої програми (як і зразок).
Бої
Формула бойових дій приблизно така:
Для кожного класу солдатів (Warlock, хрестоносців, Amazon):
- Обчисліть баланс між правопорушенням та захистом (тобто хто має більше кожного класу і скільки більше?)
- Про надлишкових солдатів (тобто значення позитивного балансу) дивіться, скільки існує "слабких цілей" (див. Діаграму Фази 7).
- Помножте бойову силу придатних солдатів (тобто "слабких цілей" порівняно з "зайвими солдатами") та додайте решту на бойову силу 1.
Ви можете спробувати симулятор тут: http://ideone.com/ArJosE (просто змініть значення солдатів, ви отримаєте бонуси та загальну силу)
Ось кілька тестових випадків:
Attack Defense A. Bonus D. Bonus A. Str D. Str Winner
20/10/0 12/12/12 8/0/0 0/2/10 34.0 42.0 Defense
40/0/5 12/12/12 12/0/0 0/12/0 51.0 42.0 Attack
0/60/8 10/30/2 0/10/6 8/0/0 76.0 46.0 Attack
20/20/40 90/5/5 0/15/5 40/0/0 90.0 120.0 Defense
Кінцеві результати
В середньому 10 ігор. Синтаксис:Player(Towns, Population, Gold)
1. Opportunist(6.4, 4165, 2895626)
2. Politician(6.4, 1048, 42542)
3. Outlaw(2.8, 1575, 349073)
4. YoungEarl(0.4, 3424, 941624)
5. Aegis(0, 0, 0)
. Butter(0, 0, 0)
. Commander(0, 0, 0)
. Lannister(0, 0, 0)
. Machiaveli(0, 0, 0)
. Monarch(0, 0, 0)
. Serenity(0, 0, 0)
. Sehtimianer(0, 0, 0)
. Sleeper(0, 0, 0)
. Zealots(0, 0, 0)
Результати 10 ігор: http://pastebin.com/GdufEYjm
Повні журнали двох ігор: http://pastebin.com/GQDZ0JdY & http://pastebin.com/m3UBTDuC
Всі добре розіграли, поєдинок був дуже близьким між Політиком та Оппотуністом.
The total Outlaws population is divided equitably between towns and sent to steal wealth.
Скільки там бандитів?