Ostateczne wyniki są tutaj!
Wprowadzenie
W 2042 r. Świat został przeludniony. Globalizacja, przeludnienie, nowy styl życia i globalny brak higieny spowodowały rozprzestrzenienie się nowej pandemii. W tych trudnych czasach przywódcy państw muszą poradzić sobie z sytuacją. Nie możesz pozwolić, by twoja populacja została zdziesiątkowana, ale być może mógłbyś skorzystać, pozwalając swoim sąsiadom umrzeć ...
Słownik
Zdrowy : Ludzie niezainfekowani
Zarażeni : Ludzie, którzy mogą umrzeć w wyniku pandemii
Martwy : Liczba ciał, brak konkretnego efektu (tylko punktacja)
Współczynnik infekcji : Liczba zdrowych, którzy zostaną zarażeni w każdej turze
Współczynnik zarażenia : Procent zainfekowanych , którzy zamienią Zdrowych na Zarażonych w każdej turze Wskaźnik
śmiertelności : odsetek zainfekowanych, którzy umrą w każdej turze Wskaźnik
migracji : odsetek zarówno zdrowych, jak i zainfekowanych, którzy będą emigrować / emigrować w każdej turze
Lokalnie: Wpływa tylko na twój stan
Globalny : Wpływa na każdy stan
Zasada
Każdy z graczy będzie zarządzał jednym miastem, zaczynając od 100 osób . Niestety, wśród nich jest jeden Zarażony .
Gra jest turowa. Tura składa się z siedmiu faz , przy czym ostatnia jest interaktywna (proszenie botów o polecenie). Kolejność graczy jest losowa w każdej turze. Kolejna faza rozpoczyna się, gdy poprzednia faza zostanie wykonana przez każde miasto (Tura 1: Gracz 1, Gracz 2, Gracz 3 ...; Tura 2: Gracz 3, Gracz 2, Gracz 1 ...):
1. Mutation - AUTOMATED
2. Reproduction - AUTOMATED
3. Migration - AUTOMATED
4. Infection - AUTOMATED
5. Contagion - AUTOMATED
6. Extinction - AUTOMATED
7. Players Turn - INTERACTIVE
Kontroler udostępnia dane wejściowe za pomocą argumentów poleceń, a program musi wyświetlać dane wyjściowe za pomocą standardowego wyjścia.
Składnia
Wejście
Za każdym razem, gdy wywoływany jest twój program, będzie on otrzymywał argumenty w następującym formacie:
Round;YourPlayerId;PlayerId_Healthy_Infected_Dead_InfectionRate_ContagionRate_LethalityRate_MigrationRate;PlayerId_Healthy_Infected_Dead_InfectionRate_ContagionRate_LethalityRate_MigrationRate;...
Rundy są indeksowane 1.
Przykładowe dane wejściowe
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
Tutaj widzisz, że jest to szósta runda i jesteś graczem 2. Masz 20 zdrowych, 53 zainfekowanych, 62 martwych, 16% infekcji, 20% współczynnika zarażenia, 35% śmiertelności i 5% migracji.
Wynik
Musisz wydać trzy znaki (bez spacji, bez separatora), z których każdy odpowiada jednej akcji, którą wykonasz w tej turze. Kolejność znaków określa kolejność akcji. Możesz wygenerować te same działania wiele razy.
N
: Do N żaden przepis
M
: Badanie M icrobiology [Efekty: Zmniejszenie lokalnej infekcji Ocena 4%]
E
: Badanie E pidemiology [Efekty: zmniejsza miejscowe Contagion Cena 8%]
I
: Badanie I mmunology [Efekty: Zmniejszenie miejscowego śmiertelne działanie Ocena 4%]
V
: badania V accination [Efekty: zmniejszenie lokalnej infekcji Cena jednym, zmniejsza miejscowe Contagion Ocena 4%, zmniejsza miejscowe letalność Ocena 2%]
C
: Daj C URE [efektów: Konwersja 10 lokalnego Zainfekowane na zdrowe ]
Q
: Q uarantine [Efekty: Usuń 30 lokalnych zainfekowanych ]
O
: O pen Borders [Efekty: Zwiększ lokalną migrację o 10%]
B
: Zamknij zamówienia B [Efekty: Zmniejsz lokalną migrację o 10%]
T
: Błąd T Bio [Efekty: Konwersja 4 globalny zdrowe do zakażonych ]
W
: w eaponization [efektów: wzrost światowego infekcji Ocena 1, wzrost globalnych letalność Ocena 2%]
D
: D issemination [Efekty: wzrost światowego infekcji Oceńo 1, zwiększ globalną Współczynnik Zarażenia o 2%]
P
: P acyfikacja [Efekty: Zmniejsz globalną Współczynnik Zarażenia o 1, zmniejsz globalną Współczynnik Zarażenia o 1%, zmniejsz globalną Współczynnik Śmiertelności o 1%]
Rozgrywka
Wszystkie fazy
Nieprawidłowe polecenie = Nic
Procent sumuje się jak liczby całkowite, tj. 10% - 4% = 6%. Po zastosowaniu procentu w formule wynik zostaje zmieniony.
Faza 1: Mutacja
Pandemia staje się coraz silniejsza. W każdej turze losowo zyskuje jeden z tych atrybutów (mutacja dotyczy wszystkich graczy jednocześnie):
- Zwiększ globalny wskaźnik infekcji o 2
- Zwiększ globalny współczynnik zarażenia o 5%
- Zwiększ globalny wskaźnik śmiertelności o 5%
Faza 2: Powielanie
Co pięć rund (runda 5, 10, 15 ...) rodzą się nowi obywatele. Każda para Zdrowych sprawi, że jeden Zdrowy (23 Zdrowych wygeneruje 11 nowych Zdrowych ). Każda para Zainfekowanych spowoduje jedną Zainfekowaną .
Faza 3: Migracja
W każdej turze procent Zdrowych i Zainfekowanych opuszcza stany, w zależności od ich współczynnika migracji (10 Zdrowych opuszcza stan o 100 Zdrowych i 10% Współczynnika migracji ). Następnie migranci zostaną rozdzieleni między wszystkie państwa, ponownie w zależności od wskaźnika migracji . (Stawki dla każdego stanu są ważone, a następnie wszyscy migranci są odpowiednio dystrybuowani).
Faza 4: Zakażenie
Zdrowe każdego stanu są konwertowane na Zainfekowane , zgodnie ze współczynnikiem infekcji .
Faza 5: Zakażenie
Zdrowe każdego stanu są konwertowane na Zarażone , zgodnie z Współczynnikiem Zarażenia . Liczbę oblicza się, mnożąc Zarażonego przez Współczynnik Zarażenia .
Faza 6: Wyginięcie
Zainfekowani są konwertowani na Dead , zgodnie ze współczynnikiem śmiertelności . Liczbę oblicza się, mnożąc Zarażonego przez Wskaźnik Śmiertelności .
Faza 7: tura graczy
Każdy gracz otrzymuje dane wejściowe i musi wykonać trzy akcje, które są wykonywane w kolejności, w jakiej są wyprowadzane.
Zasady
- Boty nie powinny być pisane w celu pokonania lub wspierania określonych innych botów.
- Zapis do plików jest dozwolony. Napisz do „twojasubmissionname.txt”, folder zostanie opróżniony przed rozpoczęciem gry. Inne zasoby zewnętrzne są niedozwolone.
- Twoje zgłoszenie ma jedną sekundę na odpowiedź (na miasto).
- Podaj polecenia, aby skompilować i uruchomić swoje zgłoszenia.
Zwycięski
Zwycięzcą jest ten, który jest najbardziej zdrowy po 50 rundach. Jeśli gracz jest ostatnim żywym (więcej niż 0 Zdrowych lub Zainfekowanych ) gra zatrzymuje się i wygrywa. Jeśli wielu graczy ma taką samą liczbę Zdrowych , wygra ten, który ma najwięcej Zainfekowanych , a ten z mniejszą liczbą Zabitych .
Kontroler
Kontroler można znaleźć na GitHub . Zawiera także trzy sampleboty napisane w Javie.
Aby go uruchomić, sprawdź projekt i otwórz go w swoim Java IDE. Punkt wejścia w main
metodzie klasy Game
. Wymagana Java 8.
Aby dodać boty, najpierw potrzebujesz skompilowanej wersji dla Javy (pliki .class) lub źródeł tłumaczonych języków. Umieść je w folderze głównym projektu. Następnie utwórz nową klasę Java w players
pakiecie (możesz wziąć przykład z już istniejących botów). Ta klasa musi zostać zaimplementowana, Player
aby zastąpić metodę String getCmd()
. Zwrócony ciąg to polecenie powłoki do uruchamiania botów. Można na przykład wykonać pracę bota Ruby z tym poleceniem: return "C:\Ruby\bin\ruby.exe MyBot.rb";
. Na koniec dodaj bota do players
tablicy na górze Game
klasy.
Ostateczne wyniki (2016-03-04 08:22 GMT)
Globalna (100 reputacji):
Wyniki 100 gier: 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)
Doomsday-less (200 reputacji):
Wyniki 100 gier: 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)
Dziękujemy wszystkim za udział. Mam nadzieję, że świetnie się bawiłeś, projektując i kodując boty, tak jak podczas gry.