ผลสุดท้ายอยู่ที่นี่แล้ว!
บทนำ
ในปี 2042 โลกมีประชากรมากเกินไป โลกาภิวัตน์ความแออัดยัดเยียดวิถีชีวิตใหม่และการขาดสุขอนามัยทั่วโลกทำให้เกิดการระบาดใหญ่ครั้งใหม่ ในช่วงเวลาที่ยากลำบากผู้นำรัฐต้องจัดการกับสถานการณ์ คุณไม่สามารถทำลายประชากรของคุณได้ แต่บางทีคุณอาจได้รับประโยชน์จากการปล่อยให้เพื่อนบ้านของคุณตาย ...
อภิธานศัพท์
สุขภาพ : คนไม่ได้ติดเชื้อ
ที่ติดเชื้อ : คนที่ตายจากโรคระบาด
ตายตัวนับไม่มีผลกระทบโดยเฉพาะอย่างยิ่ง (เฉพาะคะแนน)
อัตราการติดเชื้อ : จำนวนสุขภาพที่จะกลายเป็นติดเชื้อเปิดแต่ละ
Contagion อัตราร้อยละของเชื้อที่จะแปลงเพื่อสุขภาพที่จะติดเชื้อเปิดแต่ละ
Lethality อัตราร้อยละของเชื้อที่จะตายในแต่ละเปิด
การโยกย้ายอัตราร้อยละของทั้งสุขภาพและการติดเชื้อที่จะย้าย / อพยพเปิดแต่ละ
ท้องถิ่น: มีผลกับรัฐของคุณเท่านั้น
Global : มีผลกับทุกรัฐ
หลัก
แต่ละผู้เล่นจะจัดการหนึ่งเมืองที่เริ่มต้นด้วย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 othing
M
: การวิจัยM icrobiology [ผลกระทบ: ลดท้องถิ่นอัตราการติดเชื้อขึ้น 4%]
E
: การวิจัยE pidemiology [ผลกระทบ: ลดท้องถิ่นอัตรา Contagion 8%]
I
: การวิจัยฉัน mmunology [ผลกระทบ: ลดท้องถิ่นอัตรา Lethality 4%]
V
: วิจัยV accination [ผลกระทบ: ลดท้องถิ่นอัตราการติดเชื้อโดยหนึ่งลดท้องถิ่นอัตรา Contagion 4% ลดท้องถิ่นอัตรา Lethality 2%]
C
: ให้C ure [ผลกระทบ: แปลง 10 ในท้องถิ่นที่ติดเชื้อเพื่อสุขภาพ ]
Q
: Q uarantine [ผลกระทบ: เอา 30 ท้องถิ่นที่ติดเชื้อ ]
O
: Oปากกาพรมแดน [ผลกระทบ: เพิ่มท้องถิ่นอัตราการย้ายถิ่นโดย 10%]
B
: ปิดBคำสั่ง [ผลกระทบ: ลดท้องถิ่นอัตราการย้ายถิ่นโดย 10%]
T
: Bio T errorism [ผลกระทบ: แปลง 4 สุขภาพดีทั่วโลกสู่การติดเชื้อ ]
W
: eaponization W [ผลกระทบ: เพิ่มอัตราการติดเชื้อทั่วโลก1, เพิ่มอัตราการตายในระดับโลก2%]
D
: การเผยแพร่D [ผลกระทบ: เพิ่มอัตราการติดเชื้อทั่วโลกโดยที่ 1 เพิ่มขึ้นทั่วโลกอัตรา Contagion 2%]
P
: P acification [ผลกระทบ: ลดโลกอัตราการติดเชื้อโดยที่ 1 ลดลงทั่วโลกอัตรา Contagion 1% ลดลงทั่วโลกอัตรา Lethality 1%]
เพลย์
ทุกขั้นตอน
คำสั่งไม่ถูกต้อง = ไม่มีการ
เพิ่มเปอร์เซ็นต์เช่นจำนวนเต็ม 10% - 4% = 6% เมื่อมีการใช้เปอร์เซ็นต์ในสูตรผลลัพธ์จะถูกปูพื้น
ขั้นตอนที่ 1: การกลายพันธุ์
การระบาดใหญ่เริ่มรุนแรงขึ้น แต่ละเทิร์นจะสุ่มรับหนึ่งในคุณสมบัติเหล่านี้ (การกลายพันธุ์นี้ส่งผลกระทบต่อผู้เล่นทุกคนในครั้งเดียว):
- เพิ่มอัตราการติดเชื้อทั่วโลก2
- เพิ่มอัตราการแพร่กระจายทั่วโลก5%
- เพิ่มอัตราการตายของโลก5%
ขั้นตอนที่ 2: การสืบพันธุ์
ทุก ๆ ห้ารอบ (รอบ 5, 10, 15 ... ) พลเมืองใหม่จะเกิด แต่ละคู่ของHealthyจะสร้างหนึ่งHealthy (23 Healthyสร้าง 11 Healthyใหม่) คู่ของแต่ละคนที่ติดเชื้อจะทำให้คนที่ติดเชื้อ
ขั้นตอนที่ 3: การย้ายถิ่น
แต่ละเทิร์นร้อยละของสุขภาพและติดเชื้อจะออกจากรัฐขึ้นอยู่กับอัตราการย้ายถิ่นของพวกเขา(10 สุขภาพจะออกจากรัฐที่มี 100 สุขภาพและ 10% อัตราการย้ายถิ่น ) จากนั้นแรงงานข้ามชาติที่จะได้รับการกระจายในทุกรัฐอีกครั้งหนึ่งทั้งนี้ขึ้นอยู่กับการโยกย้ายอัตรา (อัตราของแต่ละรัฐมีการถ่วงน้ำหนักและจากนั้นแรงงานทั้งหมดจะถูกกระจายไปตามลำดับ)
ขั้นตอนที่ 4: การติดเชื้อ
สุขภาพของแต่ละรัฐจะถูกแปลงให้ติดเชื้อตามอัตราการติดเชื้อ
ขั้นตอนที่ 5: การติดต่อ
สุขภาพของแต่ละรัฐจะถูกแปลงให้ติดเชื้อตามContagion อัตรา จำนวนที่มีการคำนวณโดยการคูณติดเชื้อโดยอัตราการติดเชื้อ
ขั้นตอนที่ 6: การสูญพันธุ์
การติดเชื้อจะถูกเปลี่ยนเป็นตายตามอัตราการตาย จำนวนที่มีการคำนวณโดยการคูณติดเชื้อโดยอัตรา Lethality
เฟส 7: ผู้เล่นเลี้ยว
ผู้เล่นแต่ละคนได้รับการป้อนข้อมูลและจะต้องส่งออกการกระทำสามอย่างที่จะดำเนินการตามลำดับพวกเขาออก
กฎระเบียบ
- ไม่ควรเขียนบอทเพื่อเอาชนะหรือสนับสนุนบอทอื่น ๆ โดยเฉพาะ
- อนุญาตให้เขียนไฟล์ได้ โปรดเขียนถึง "yoursubmissionname.txt" โฟลเดอร์จะถูกทำให้ว่างเปล่าก่อนที่เกมจะเริ่ม ทรัพยากรภายนอกอื่น ๆ ไม่ได้รับอนุญาต
- ข้อมูลที่คุณส่งมีหนึ่งวินาทีในการตอบกลับ (ต่อเมือง)
- ให้คำสั่งเพื่อรวบรวมและเรียกใช้การส่งของคุณ
การชนะ
ผู้ชนะคือผู้ที่มีสุขภาพดีที่สุดหลังจาก 50 รอบ หากผู้เล่นคนสุดท้ายมีชีวิต (มากกว่า 0 สุขภาพหรือติดเชื้อ ) เกมจะหยุดและเขาชนะ หากผู้เล่นหลายคนมีจำนวนเดียวกันของสุขภาพหนึ่งที่มีมากที่สุดที่ติดเชื้อจะชนะแล้วคนที่มีน้อยกว่าตาย s
ตัวควบคุม
คุณสามารถค้นหาตัวควบคุมบน GitHub นอกจากนี้ยังมีบอตสามตัวอย่างที่เขียนด้วย Java
เพื่อให้มันทำงานให้ตรวจสอบโครงการและเปิดใน Java IDE ของคุณ จุดเริ่มต้นในวิธีการของการเรียนmain
Game
ต้องใช้ Java 8
ในการเพิ่มบ็อตอันดับแรกคุณต้องใช้เวอร์ชันรวบรวมสำหรับ Java (ไฟล์. classclass) หรือแหล่งที่มาสำหรับภาษาที่ตีความ วางไว้ในโฟลเดอร์รูทของโครงการ จากนั้นสร้างคลาส Java ใหม่ในplayers
แพ็คเกจ (คุณสามารถนำตัวอย่างบนบอตที่มีอยู่แล้ว) ชั้นนี้จะต้องดำเนินการเพื่อแทนที่วิธีPlayer
String getCmd()
String ที่ส่งคืนคือคำสั่ง shell เพื่อรันบ็อตของคุณ เช่นคุณสามารถทำให้การทำงานของ ธ return "C:\Ruby\bin\ruby.exe MyBot.rb";
ปททับทิมด้วยคำสั่งนี้ ในที่สุดเพิ่ม bot ในplayers
อาร์เรย์ที่ด้านบนของGame
ชั้นเรียน
ผลลัพธ์สุดท้าย (2016-03-04 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)
Doomsday-less (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)
ขอบคุณทุกคนที่เข้าร่วม ฉันหวังว่าคุณจะมีเวลามากในการออกแบบและเขียนโปรแกรมบอทของคุณเหมือนที่ฉันเล่นเกม