Остаточні результати тут!
Вступ
У 2042 році світ перенаселений. Глобалізація, переповненість, новий спосіб життя та глобальна відсутність гігієни спричинили поширення нової пандемії. У ті важкі часи державним керівникам доводилося керувати ситуацією. Ви не можете дозволити вашому населенню знищити, але, можливо, ви могли б отримати користь, відпустивши своїх сусідів на смерть ...
Глосарій
Здорові : Люди не інфіковані
Заражені : Люди , які можуть померти від пандемія
Мертвого : не брати до уваги тіла, ніякого особливого ефекту (тільки забили)
Зараження Оцінити : Кількість здорового , хто стане Infected кожного повороту
Зараження Оцінити : Відсоток Infected , який буде конвертувати Healthy в Infected кожен поворот
летальність Частота : Відсоток Infected , які вмирають кожен хід
міграції Швидкість : Відсоток як здоровий і Infected , що емігрують / іммігрувати кожен поворот
Local: Зачіпає лише ваш штат
Глобальний : впливає на кожен штат
Принцип
Кожен з гравців керуватиме одним містечком, починаючи з 100 людей . На жаль, серед них одна заражена .
Гра покрокова. Поворот складається з семи фаз , остання - інтерактивна (прохання ботів про команду). Порядок гравців рандомізований на кожному кроці. Наступна фаза починається, коли попередній етап виконується в кожному місті (Поворот 1: Гравець 1, Гравець 2, Гравець 3 ...; Поворот 2: Гравець 3, Гравець 2, Гравець 1 ...):
1. Mutation - AUTOMATED
2. Reproduction - AUTOMATED
3. Migration - AUTOMATED
4. Infection - AUTOMATED
5. Contagion - AUTOMATED
6. Extinction - AUTOMATED
7. Players Turn - INTERACTIVE
Контролер надає вам введення через аргументи команд, і ваша програма повинна виводити через stdout.
Синтаксис
Вхідні дані
Щоразу, коли ваша програма викликається, вона отримуватиме аргументи у такому форматі:
Round;YourPlayerId;PlayerId_Healthy_Infected_Dead_InfectionRate_ContagionRate_LethalityRate_MigrationRate;PlayerId_Healthy_Infected_Dead_InfectionRate_ContagionRate_LethalityRate_MigrationRate;...
Круглі є 1-індексованими.
Приклад введення
6;2;1_106_23_9_2_4_13_5;0_20_53_62_16_20_35_5;2_20_53_62_16_20_35_5
Тут ви бачите, що це 6-й раунд, і ви граєте 2. У вас 20 здорових, 53 заражених, 62 загиблі, 16% рівень зараження, 20% рівень зараження, 35% летальності та 5% міграції.
Вихідні дані
Ви повинні вивести три символи (ні пробілу, ні роздільника), кожен з яких відповідає одній дії, яку ви зробите в цьому рубежі. Порядок символів визначає порядок дій. Ви можете виводити одні й ті самі дії кілька разів.
N
: Do N ичто
M
: Research M icrobiology [Ефекти: Зниження місцевої інфекції Оцінити на 4%]
E
: Дослідження E pidemiology [Ефекти: Знизити місцеву заразу Оцінити на 8%]
I
: Дослідженнях I mmunology [Ефекти: Знизити місцеве летальність Оцінити на 4%]
V
: дослідження V accination [ефекти: Зниження місцевої інфекції Оцінити один, зменшити місцеві зарази Оцінити на 4%, знизити місцеву летальність Оцінити на 2%]
C
: Дайте C Юр [ефекти: Перетворення 10 місцеві Заражений до здорового ]
Q
: Q uarantine [Ефекти: Видалити 30 місцеві Заражені ]
O
: Про пере Межі [Ефекти: збільшення місцевої швидкості міграції на 10%]
B
: Закрити B замовлень [Ефекти: Зниження місцевої швидкості міграції на 10%]
T
: Bio T errorism [Ефекти: Преобразованіе- глобальний Healthy до Infected ]
W
: W eaponization [ефекти: збільшення глобальної інфекції Оцінити на 1, збільшення глобальної летальність Rate на 2%]
D
: D issemination [ефекти: збільшення глобальної інфекції Оцінитина 1, збільшити глобальний рівень зараження на 2%]
P
: P acification [Ефекти: Зменшити глобальний рівень зараження на 1, зменшити глобальний рівень зараження на 1%, зменшити глобальний рівень летальності на 1%]
Ігровий процес
Усі фази
Недійсна команда =
Відсоток нічого не додається, як цілі числа, тобто 10% - 4% = 6%. Коли відсоток застосовується у формулі, результат формується у формі.
Фаза 1: Мутація
Пандемія стає все більш сильною. Кожен поворот він випадковим чином отримує один з цих атрибутів (ця мутація впливає на всіх гравців відразу):
- Збільшити глобальний рівень зараження на 2
- Збільшити глобальний рівень зараження на 5%
- Збільшити глобальний рівень летальності на 5%
Фаза 2: Розмноження
Кожні п’ять турів (5, 10, 15…) народжуватимуться нові громадяни. Кожна пара здорових зробить один здоровий (23 здорових генерують 11 нових здорових ). Кожна пара заражених зробить одного зараженого .
Фаза 3: Міграція
З кожним кроком відсоток здорових та інфікованих залишатиме штати, залежно від рівня міграції (10 здорових залишать стан зі 100 здоровим та 10% міграційним рівнем ). Потім мігранти будуть розподілені між кожною державою, ще раз залежно від рівня міграції . (Ставки кожної держави зважуються, а мігранти потім усі розподіляються відповідно).
Фаза 4: Інфекція
Здорові кожної держави перетворюються на інфікованих , відповідно до рівня інфікування .
Фаза 5: Зараження
Здорові кожної держави перетворюються на інфіковані , відповідно до рівня зараження . Кількість обчислюється шляхом множення заражених на швидкість зараження .
6 фаза: вимирання
Заражені перетворюються на мертвих , відповідно до коефіцієнта летальності . Кількість обчислюється шляхом множення зараженого на коефіцієнт летальності .
Фаза 7: Гравці чергують
Кожен гравець отримує вхід і повинен виводити три дії, які виконуються в порядку їх виведення.
Правила
- Ботів не слід писати, щоб бити або підтримувати конкретних інших ботів.
- Запис у файли дозволяється. Будь ласка, напишіть на "tvojeubmissionname.txt", папка буде видалена перед початком гри. Інші зовнішні ресурси заборонені.
- На ваше подання є одна секунда для відповіді (на місто)
- Укажіть команди для складання та запуску подань.
Перемога
Переможець - найздоровіший після 50 турів. Якщо гравець останній живий (більше 0 здорових чи заражених ), гра припиняється і він виграє. Якщо декілька гравців мають однакову кількість здорових , виграє той , у кого найбільше заражених , а той, у якого менше мертвих .
Контролер
Ви можете знайти контролер на GitHub . Він також містить три вибірки, написані на Java.
Щоб запустити його, перегляньте проект та відкрийте його у вашій Java IDE. Точка входу в main
метод класу Game
. Потрібна Java 8.
Щоб додати ботів, спочатку вам потрібна або компільована версія для Java (файли .class), або джерела для інтерпретованих мов. Розмістіть їх у кореневій папці проекту. Потім створіть новий players
пакет Java в пакеті (ви можете взяти приклад для вже наявних ботів). Цей клас повинен реалізовувати Player
для зміни способу String getCmd()
. Рядок, що повернувся - це команда оболонки для запуску ваших ботів. Наприклад , ви можете зробити бот роботу Ruby , з допомогою цієї команди: return "C:\Ruby\bin\ruby.exe MyBot.rb";
. Нарешті, додайте бота в players
масив у верхній частині Game
класу.
Остаточні результати (04.03.2016 08:22 GMT)
Глобальний (100 репутації):
Результати 100 ігор: http://pasted.co/942200ff
1. EvilBot (24, 249, 436)
2. Triage (23, 538, 486)
3. WICKED (23, 537, 489)
4. Israel (23, 40, 240)
5. InfectedTown (22, 736, 482)
6. ZombieState (22, 229, 369)
7. Mooch (22, 87, 206)
8. InfectedHaven (21, 723, 483)
9. Crossroads (16, 9, 136)
10. TheKeeper (3, 4, 138)
11. Terrorist (0, 595, 496)
12. InfectionBot (0, 511, 430)
13. FamilyValues (0, 6, 291)
14. UndecidedBot (0, 0, 20)
15. XenoBot (0, 0, 26)
16. Researcher (0, 0, 33)
17. Strategist (0, 0, 42)
18. TheCure (0, 0, 55)
19. Socialist (0, 0, 67)
20. TrumpBot (0, 0, 77)
21. CullBot (0, 0, 81)
22. BackStabber (0, 0, 87)
23. BlunderBot (0, 0, 104)
24. RemoveInfected (0, 0, 111)
25. PFC (0, 0, 117)
26. BioterroristBot (0, 0, 118)
27. PassiveBot (0, 0, 118)
28. Smaug (0, 0, 118)
29. WeaponOfMassDissemination (0, 0, 119)
30. AllOrNothing (0, 0, 121)
31. Obamacare (0, 0, 122)
32. DisseminationBot (0, 0, 123)
33. CureThenQuarantine (0, 0, 125)
34. Madagascar (0, 0, 129)
35. OpenAndClose (0, 0, 129)
36. ThePacifist (0, 0, 130)
37. MedicBot (0, 0, 131)
38. Medic (0, 0, 133)
39. Salt (0, 0, 134)
40. Piecemeal (0, 0, 136)
41. Graymalkin (0, 0, 137)
42. PureBot (0, 0, 140)
43. MadScienceBot (0, 0, 144)
44. BipolarBot (0, 0, 149)
45. RedCross (0, 0, 151)
Без судинного дня (200 репутації):
Результати 100 ігор: http://pasted.co/220b575b
1. FamilyValues (5708, 14, 2)
2. BlunderBot (5614, 12, 3)
3. Graymalkin (5597, 17, 4)
4. PureBot (5550, 12, 5)
5. Crossroads (5543, 11, 4)
6. Salt (5488, 24, 7)
7. CureThenQuarantine (5453, 13, 7)
8. Piecemeal (5358, 121, 23)
9. TrumpBot (5355, 12, 5)
10. CullBot (5288, 12, 9)
11. AllOrNothing (5284, 13, 10)
12. Madagascar (5060, 180, 35)
13. TheKeeper (4934, 165, 44)
14. WICKED (4714, 25, 5)
15. Strategist (2266, 25, 5)
16. BackStabber (2180, 1327, 596)
17. RemoveInfected (2021, 33, 27)
18. OpenAndClose (1945, 667, 394)
19. Triage (1773, 401, 80)
20. TheCure (1465, 46, 26)
21. Obamacare (1263, 525, 247)
22. Mooch (1103, 546, 269)
23. Israel (1102, 580, 292)
24. RedCross (1086, 1700, 727)
25. ThePacifist (1069, 636, 580)
26. Researcher (1035, 113, 37)
27. UndecidedBot (825, 219, 93)
28. PassiveBot (510, 990, 567)
29. MedicBot (411, 1474, 667)
30. Medic (392, 1690, 619)
31. Socialist (139, 63, 90)
32. XenoBot (0, 82, 170)
Дякую всім за участь. Я сподіваюся, що ви так само добре розробляли і кодували своїх ботів, як і я, що я керував цією грою.