Nihai sonuçlar burada!
Giriş
2042'de dünya aşırı nüfus oldu. Küreselleşme, aşırı kalabalıklaşma, yeni yaşam tarzları ve küresel bir hijyen eksikliği yeni bir salgının yayılmasına neden oldu. Bu zor zamanlarda devlet liderlerinin durumu yönetmesi gerekiyor. Nüfusunuzun yok edilmesine izin veremezsiniz, ama belki komşularınızın ölmesine izin vererek fayda sağlayabilirsiniz ...
Sözlük
Sağlıklı : İnsanlar enfekte olmayan
enfekte : pandemik ölebilir İnsanlar
Ölü : Vücut (sadece çizikler), belirli bir etkiye saymak
Enfeksiyon Oranı : sayısı Sağlıklı olacak Enfekte her çevirmek
Bulaşıcılık Oranı : Yüzde Enfekte dönüştürür Sağlıklı üzere Enfekte her açmak
ölümcüllüğü Oranı : Yüzde Enfekte her ölecek çevirmek
Göç Hızı hem yüzdesi: Sağlıklı ve Enfekte göç edeceğini / her çevirmek göç
Yerel: Sadece devletini etkiler
Küresel : Her devleti etkiler
Prensip
Her oyuncu 100 kişiden başlayarak bir kasabayı yönetecek . Ne yazık ki, bunların arasında bir Etkilenen var .
Oyun sıra tabanlı. Bir dönüş , sonuncusu etkileşimli olan (komut için bot isteyen) yedi aşamadan oluşur . Her sırayla oyuncuların sırası rastgele seçilir. Bir sonraki aşama, önceki aşama her şehir tarafından gerçekleştirildiğinde başlar (1. Tur: 1. Oyuncu, 2. Oyuncu, 3. Oyuncu ...; 2. Dönüş: 3. Oyuncu, 2. Oyuncu, 1. Oyuncu ...):
1. Mutation - AUTOMATED
2. Reproduction - AUTOMATED
3. Migration - AUTOMATED
4. Infection - AUTOMATED
5. Contagion - AUTOMATED
6. Extinction - AUTOMATED
7. Players Turn - INTERACTIVE
Denetleyici size komut argümanları üzerinden giriş sağlar ve programınızın stdout üzerinden çıkması gerekir.
Sözdizimi
Giriş
Programınız her çağrıldığında, bu biçimde argümanlar alacak:
Round;YourPlayerId;PlayerId_Healthy_Infected_Dead_InfectionRate_ContagionRate_LethalityRate_MigrationRate;PlayerId_Healthy_Infected_Dead_InfectionRate_ContagionRate_LethalityRate_MigrationRate;...
Tur 1 indekslidir.
Örnek giriş
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
Burada 6. tur olduğunu ve 2. oyuncu olduğunu görüyorsunuz. 20 sağlıklı, 53 enfekte, 62 ölü,% 16 enfeksiyon oranı,% 20 bulaşıcılık oranına,% 35 ölüm oranına ve% 5'lik bir göç oranına sahipsin.
Çıktı
Her biri bu dönüşü gerçekleştireceğiniz bir eyleme karşılık gelen üç karakter (boşluksuz, ayırıcı yok) çıkarmanız gerekir. Karakterlerin sırası eylemlerin sırasını belirler. Aynı eylemleri birden çok kez çıkarabilirsiniz.
N
: Fazlası N othing
M
: Araştırma M icrobiology [Etkileri: Yerel azaltmak enfeksiyon oranı % 4]
E
: Araştırma e pidemiology [Etkileri: Yerel azaltmak bulaşma Puan % 8]
I
: Araştırma I mmunology [Etkileri: Yerel azaltmak Lethality Puan % 4]
V
: Araştırma V accination [Etkileri: yerel azaltmak enfeksiyon oranı lokal azaltmak, tek Bulaşma Puan yerel azaltmak,% 4 Lethality Puan % 2]
C
: ver Cı ure [Effects: 10 dönüştürme yerel Enfekte için sağlıklı ]
Q
: S uarantine [Etkileri: 30 yerel çıkarmak Enfekte ]
O
: O kalem Sınırı [Etkileri: Yerel artırmak Geçiş Puan % 10]
B
: Yakın B kararı [Etkileri: Yerel azaltır Geçiş Puan % 10]
T
: Biyo T errorism [Etkileri: 4 dönüştürme küresel Sağlıklı için Enfekte ]
W
: W eaponization [Etkileri: genel artış enfeksiyon oranı genel artış, 1 ile Lethality Puan ]% 2
D
: D issemination [Etkileri: Artırma küresel enfeksiyon oranı1 oranında, küresel Bulaşma Oranını % 2 artırın ]
P
: P acification [Etkileri: Küresel Enfeksiyon Oranını 1 azalt, küresel Bulaşma Oranını % 1 azalt, küresel Ölüm Oranını % 1 azalt ]
Oynanış
Tüm aşamalar
Geçersiz komut = Hiçbirşey
Yüzde, tamsayılar gibi eklenir, yani% 10 -% 4 =% 6. Yüzde bir formülde uygulandığında sonuç döşenir.
Faz 1: Mutasyon
Pandemi daha güçlü hale geliyor. Her turda, rastgele bu özelliklerden birini kazanır (bu mutasyon aynı anda tüm oyuncuları etkiler):
- Küresel Enfeksiyon Oranını 2 arttırın
- Küresel Bulaşma Oranını % 5 Artırmak
- Küresel Ölüm Oranını % 5 Artırmak
2. Aşama: Üreme
Her beş turda (5., 10., 15. ...), yeni vatandaşlar doğacak. Her çifti Sağlıklı bir hale getirecek Sağlıklı (23 Sağlıklı 11 yeni oluşturmak Sağlıklı ). Her çift Enfekte bir hale getirecektir Enfekte .
Faz 3: Göç
Her turda, bir Sağlıklı ve Enfekte yüzdesi, Göç Oranlarına bağlı olarak eyaletler bırakacaktır (10 Sağlıklı , % 100 Sağlıklı ve% 10 Göç Oranı ile bir devlet bırakacaktır ). Ardından, göçmenler, Göç Oranına bağlı olarak bir kez daha, her eyalet arasında dağıtılacaklar . (Her bir devletin oranları ağırlıklı ve göçmenler de buna göre dağıtılıyor).
Faz 4: Enfeksiyon
Her bir durumun sağlıklılığı , Enfeksiyon Oranına göre Enfekte'ye dönüştürülür .
Aşama 5: Bulaşma
Her devletin sağlıklı bulaşıcılık oranına göre, enfekte dönüştürülür . Sayı çarpılarak hesaplanır Enfekte tarafından Bulaşma Oranı .
Aşama 6: Soyu tükenme
Enfekte dönüştürülen Ölü göre Ölümcüllüğü Oranı . Sayı çarpılarak hesaplanır Enfekte tarafından öldürülücüğü Oranı .
Aşama 7: Oyuncular sırayla
Her oyuncu girdi alır ve çıktı sırasına göre gerçekleştirilen üç eylemi gerçekleştirmelidir.
kurallar
- Botlar, belirli diğer botları yenmek veya desteklemek için yazılmamalıdır.
- Dosyalara yazma izin verilir. Lütfen "yoursubmissionname.txt" yazınız, oyun başlamadan önce klasör boşaltılacaktır. Diğer dış kaynaklara izin verilmez.
- Gönderinizin yanıt vermesi için bir saniye var (şehir başına).
- Gönderilerinizi derlemek ve çalıştırmak için komutlar verin.
Kazanan
Kazanan 50 turdan sonra en Sağlıklı olanıdır . Bir oyuncu canlı kalan son oyuncu ise (0'dan fazla Sağlıklı veya Enfekte ) oyun durur ve kazanır. Eğer birden fazla oyuncu aynı miktarda Sağlıklı'ya sahipse, En Çok Etkilenenler kazanır, o zaman daha az Ölü olanlar kazanır .
kontrolör
Kontrol cihazını GitHub'da bulabilirsiniz . Ayrıca, Java ile yazılmış üç örnekleme çubuğu içerir.
Çalışmasını sağlamak için projeyi inceleyin ve Java IDE'nizde açın. main
Sınıf yöntemindeki giriş noktası Game
. Java 8 gerekli.
Bot eklemek için önce ya Java (.class dosyaları) için derlenmiş versiyona ya da yorumlanmış dillerin kaynaklarına ihtiyacınız var. Bunları projenin kök klasörüne yerleştirin. Ardından, players
pakette yeni bir Java sınıfı oluşturun (zaten var olan botlardan örnek alabilirsiniz). Bu sınıf Player
, yöntemi geçersiz kılmak için uygulamalıdır String getCmd()
. Dönen String, botlarınızı çalıştırmak için shell komutudur. Örneğin bu komutla Ruby bot iş yapabilirsiniz: return "C:\Ruby\bin\ruby.exe MyBot.rb";
. Son olarak, botu sınıfın players
en üstündeki diziye ekleyin Game
.
Son Sonuçlar (2016-03-04 08:22 GMT)
Global (100 itibar):
100 maç sonucu: 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)
Kıyametsiz (200 itibar):
100 maç sonucu: 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)
Katılımınız için herkese teşekkür ederim. Umarım, oyunumda olduğum gibi botlarınızı tasarlarken ve kodlarken çok iyi zaman geçirmişsinizdir.