Hasil akhirnya ada di sini!
pengantar
Pada tahun 2042, dunia telah menjadi kelebihan penduduk. Globalisasi, kepadatan penduduk, gaya hidup baru dan kurangnya kebersihan global telah menyebabkan penyebaran pandemi baru. Selama masa-masa sulit itu, para pemimpin negara harus mengelola situasi. Anda tidak bisa membiarkan populasi Anda dihancurkan, tetapi mungkin Anda bisa mendapat manfaat dengan membiarkan tetangga Anda mati ...
Glosarium
Sehat : Orang yang tidak terinfeksi
Terinfeksi : Orang yang dapat meninggal akibat pandemi.
Mati : Jumlah tubuh, tidak ada efek khusus (hanya skor)
Tingkat Infeksi : Jumlah Sehat yang akan Terinfeksi setiap belokan
Tingkat Penularan : Persentase Terinfeksi yang akan mengubah Sehat menjadi Terinfeksi setiap belokan
Tingkat Lethality : Persentase Terinfeksi yang akan mati setiap belokan
Tingkat Migrasi : Persentase Sehat dan Terinfeksi yang akan beremigrasi / berimigrasi setiap belokan
Lokal: Hanya memengaruhi negara Anda
Global : Mempengaruhi setiap negara bagian
Prinsip
Masing-masing pemain akan mengelola satu kota, dimulai dengan 100 orang . Sayangnya, di antara mereka ada satu yang terinfeksi .
Permainan ini berbasis giliran. Giliran terdiri dari tujuh fase , yang terakhir bersifat interaktif (meminta bot untuk perintah). Urutan pemain secara acak setiap belokan. Fase berikutnya dimulai ketika fase sebelumnya telah dieksekusi oleh setiap kota (Turn 1: Player 1, Player 2, Player 3 ...; Turn 2: Player 3, Player 2, Player 1 ...):
1. Mutation - AUTOMATED
2. Reproduction - AUTOMATED
3. Migration - AUTOMATED
4. Infection - AUTOMATED
5. Contagion - AUTOMATED
6. Extinction - AUTOMATED
7. Players Turn - INTERACTIVE
Kontroler memberi Anda input melalui argumen perintah, dan program Anda harus melakukan output melalui stdout.
Sintaksis
Memasukkan
Setiap kali program Anda dipanggil, ia akan menerima argumen dalam format ini:
Round;YourPlayerId;PlayerId_Healthy_Infected_Dead_InfectionRate_ContagionRate_LethalityRate_MigrationRate;PlayerId_Healthy_Infected_Dead_InfectionRate_ContagionRate_LethalityRate_MigrationRate;...
Babak 1-diindeks.
Contoh input
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
Di sini, Anda melihat itu adalah putaran ke-6 dan Anda adalah pemain 2. Anda memiliki 20 yang sehat, 53 terinfeksi, 62 mati, tingkat infeksi 16%, tingkat penularan 20%, tingkat kematian 35%, dan tingkat migrasi 5%.
Keluaran
Anda harus menampilkan tiga karakter (tanpa spasi, tanpa pemisah), yang masing-masing sesuai dengan satu tindakan yang akan Anda ambil giliran ini. Urutan karakter menentukan urutan tindakan. Anda dapat menampilkan tindakan yang sama beberapa kali.
N
: Apakah N othing
M
: Penelitian M icrobiology [Efek: Mengurangi lokal Tingkat Infeksi oleh 4%]
E
: Penelitian E pidemiology [Efek: Mengurangi lokal Contagion Tingkat sebesar 8%]
I
: Penelitian Saya mmunology [Efek: Mengurangi lokal Lethality Tingkat 4%]
V
: penelitian V accination [Efek: mengurangi lokal Tingkat Infeksi oleh salah satu, mengurangi lokal Contagion Tingkat sebesar 4%, mengurangi lokal Lethality Tingkat 2%]
C
: Berikan C ure [Efek: Mengkonversi 10 lokal Terinfeksi untuk Sehat ]
Q
: Q uarantine [Efek: Hapus 30 lokal Terinfeksi ]
O
: O pen Borders [Efek: Meningkatkan lokal Tingkat Migrasi sebesar 10%]
B
: Tutup B pesanan [Efek: Menurunkan lokal Tingkat Migrasi sebesar 10%]
T
: Bio T errorism [Efek: Mengkonversi 4 global Healthy to Infected ]
W
: W eaponization [Efek: Meningkatkan Tingkat Infeksi global hingga 1, meningkatkan Tingkat Kesetaraan global sebesar 2%]
D
: Penerbitan D [Efek: Meningkatkan Tingkat Infeksi globalsebesar 1, meningkatkan Tingkat Penularan global sebesar 2%]
P
: P enifikasi [Efek: Mengurangi Tingkat Infeksi global sebesar 1, menurunkan Tingkat Penularan global sebesar 1%, menurunkan Tingkat Kesetaraan global sebesar 1%]
Gameplay
Semua fase
Perintah tidak valid = Tidak Ada
Persentase ditambahkan seperti bilangan bulat, yaitu 10% - 4% = 6%. Ketika persentase diterapkan dalam formula, hasilnya adalah lantai.
Fase 1: Mutasi
Pandemi menjadi lebih kuat. Setiap belokan, ia secara acak mendapatkan salah satu dari atribut ini (mutasi ini memengaruhi semua pemain sekaligus):
- Tingkatkan Tingkat Infeksi global sebesar 2
- Tingkatkan Tingkat Penularan global sebesar 5%
- Meningkatkan Tingkat Lethality global sebesar 5%
Fase 2: Reproduksi
Setiap lima putaran (putaran 5, 10, 15 ...), warga baru akan lahir. Setiap pasangan Sehat akan membuat satu Sehat (23 Sehat menghasilkan 11 Sehat baru ). Setiap pasangan terinfeksi akan membuat satu terinfeksi .
Fase 3: Migrasi
Setiap belokan, persentase Sehat dan Terinfeksi akan meninggalkan status, tergantung pada Tingkat Migrasi mereka (10 Sehat akan meninggalkan negara dengan 100 Tingkat Migrasi Sehat dan 10% ). Kemudian, para migran akan didistribusikan di setiap negara bagian, sekali lagi tergantung pada Tingkat Migrasi . (Tarif masing-masing negara bagian tertimbang dan migran kemudian didistribusikan sesuai dengan itu).
Fase 4: Infeksi
Sehat setiap negara dikonversi menjadi Terinfeksi , sesuai dengan Tingkat Infeksi .
Fase 5: Penularan
Sehat setiap negara dikonversi menjadi Terinfeksi , sesuai dengan Tingkat Penularan . Angka tersebut dihitung dengan mengalikan Infeksi dengan Tingkat Penularan .
Fase 6: Kepunahan
Terinfeksi dikonversi menjadi Mati , menurut Lethality Rate . Jumlahnya dihitung dengan mengalikan Infected oleh Lethality Rate .
Fase 7: Giliran pemain
Setiap pemain menerima input dan harus mengeluarkan tiga tindakan, yang dieksekusi sesuai urutannya.
Aturan
- Bot tidak boleh ditulis untuk mengalahkan atau mendukung bot lain yang spesifik.
- Menulis ke file diperbolehkan. Silakan menulis ke "milikmu submisi.txt", folder akan dikosongkan sebelum permainan dimulai. Sumber daya eksternal lainnya tidak diizinkan.
- Kiriman Anda memiliki satu detik untuk merespons (per kota).
- Berikan perintah untuk mengkompilasi dan menjalankan kiriman Anda.
Kemenangan
Pemenang adalah yang paling sehat setelah 50 putaran. Jika seorang pemain adalah yang terakhir hidup (lebih dari 0 Sehat atau Terinfeksi ) permainan berhenti dan dia menang. Jika beberapa pemain memiliki jumlah Sehat yang sama , pemain dengan Infeksi terbanyak akan menang, maka pemain dengan Dead s lebih sedikit .
Pengendali
Anda dapat menemukan pengontrol di GitHub . Ini juga mengandung tiga samplebot, ditulis dalam Java.
Untuk membuatnya berjalan, periksa proyek dan buka di Java IDE Anda. Titik masuk dalam main
metode kelas Game
. Diperlukan Java 8.
Untuk menambahkan bot, pertama Anda perlu versi kompilasi untuk Java (file .class) atau sumber untuk bahasa yang ditafsirkan. Tempatkan mereka di folder root proyek. Kemudian, buat kelas Java baru dalam players
paket (Anda dapat mengambil contoh pada bot yang sudah ada). Kelas ini harus menerapkan Player
untuk mengganti metode String getCmd()
. String yang dikembalikan adalah perintah shell untuk menjalankan bot Anda. Misalnya, Anda dapat membuat Ruby bot bekerja dengan perintah ini: return "C:\Ruby\bin\ruby.exe MyBot.rb";
. Akhirnya, tambahkan bot dalam players
array di bagian atas Game
kelas.
Hasil Akhir (2016-03-04 08:22 GMT)
Global (100 reputasi):
100 hasil pertandingan: 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)
Kiamat-kurang (200 reputasi):
100 hasil pertandingan: 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)
Terima kasih semuanya atas partisipasi Anda. Saya harap Anda bersenang-senang mendesain dan mengkode bot Anda seperti halnya saya menjalankan permainan.