ความขัดแย้ง 4-Man
ลักษณะ
คุณพบว่าตัวเองขัดแย้งกันสี่ทาง ปืนที่บรรจุอยู่ในมือของคุณและมีระเบิดติดอยู่บนเข็มขัดของคุณ
จุดประสงค์คือการมีสุขภาพที่ดีที่สุดในตอนท้ายของความขัดแย้ง ความขัดแย้งสิ้นสุดลงเมื่อคนส่วนใหญ่มีสุขภาพที่ดี
ผู้เล่นแต่ละคนมีสุขภาพและตายเมื่อสุขภาพของพวกเขาลดลงไป5
/ ด้านล่าง 0
เทิร์นที่ผู้เล่นเสียชีวิตเป็นเทิร์นสุดท้ายที่ผู้เล่นสามารถรับความเสียหายได้
หากมีผู้เล่นสดเมื่อสิ้นสุดการขัดแย้งผู้เล่นนั้นจะชนะ มิฉะนั้นผู้เล่นที่มีค่าลบน้อยที่สุดจะเป็นผู้ชนะ
การปฏิบัติ
ยิง : ยิงใส่ใครซักคน
2
สร้างความเสียหายหากยิงศัตรูที่มีชีวิต0
สร้างความเสียหายหากยิงศัตรูที่ตายแล้วhealth_at_start_of_turn+2
ความเสียหายถ้ายิงตัวเอง (โปรดทราบว่าสิ่งนี้จะทำให้คุณมี-2
สุขภาพที่ดีที่สุด)- หากศัตรูคนหนึ่งยิงคุณในเทิร์นเดียวกันกับที่คุณยิงตัวเองคุณจะจบการต่อสู้ด้วยสุขภาพ -4 (คุณยังคงได้รับความเสียหายจากผู้เล่นอื่นเมื่อคุณฆ่าตัวเอง)
- การกระทำของคุณในเทิร์นต่อไปนี้จะถูกละเว้น (และสันนิษฐานว่าเป็น
Nothing
)
Dodge : พยายามหลบการยิงของฝ่ายตรงข้ามเพียงคนเดียว
เตรียม : ปลดลูกระเบิดมือของคุณและเตรียมโยนมัน
- คุณมีเพียงสามรอบที่จะโยนมันก่อนที่คุณจะได้รับการเป่าขึ้น (
6
ความเสียหายให้กับตัวเอง3
ความเสียหายให้กับศัตรูที่มีชีวิตทั้งหมด) - การตายด้วยระเบิดมือที่ไม่มีผู้โยนนั้นเทียบเท่ากับการไม่ทิ้งระเบิดไว้สามรอบ
- คุณมีเพียงสามรอบที่จะโยนมันก่อนที่คุณจะได้รับการเป่าขึ้น (
โยน : โยนระเบิดใส่คนและหวังว่าจะดีที่สุด
- เป้าหมายจะได้รับ
8
ความเสียหายหากมีชีวิตอยู่ - คนอื่น ๆ (รวมถึงตัวคุณเอง) จะได้รับ
3
ความเสียหายหากยังมีชีวิตอยู่
- เป้าหมายจะได้รับ
ไม่มีอะไร : ยืนเฉยๆเพื่อดูและทุกคนตาย
อินพุต
โปรแกรมของคุณจะถูกส่งผ่านข้อมูลต่อไปนี้:
- สุขภาพของผู้เล่นแต่ละคน
รายการของการกระทำที่ดำเนินการโดยผู้เล่นตั้งแต่จุดเริ่มต้นของความขัดแย้งด้านล่างเป็นรูปแบบสำหรับข้อมูลที่ส่งผ่านต่อผู้เล่น:
[Health],[Action 1],[Action 2],[Action 3],...
การดำเนินการจะได้รับในรูปแบบที่ระบุในส่วนผลลัพธ์
คุณจะได้รับ 4 สตริงดังกล่าวคั่นด้วยช่องว่างและส่งผ่านเป็นอาร์กิวเมนต์เดียว ลำดับของสตริงเหล่านี้คือ:
[Player Info] [Opponent 1 Info] [Opponent 2 Info] [Opponent 3 Info]
สตริงจะถูกส่งเป็นอาร์กิวเมนต์ที่สอง อาร์กิวเมนต์แรกมีจำนวนเต็มที่ระบุการขัดแย้งที่ถูกตราขึ้นมา การแสตนด์บายระหว่างผู้เล่นชุดเดียวกันนั้นรับประกันว่าจะไม่พร้อมกัน อย่างไรก็ตามการสแตนด์บายหลายครั้งจะเกิดขึ้นในเวลาเดียวกัน
ตัวอย่างเช่น:
$./Player.bash 5 "3,S2,N 5,P,N 3,S0,N -2,S3,N"
ปัจจุบันผู้เล่นและคู่ต่อสู้ที่สองมี 3 สุขภาพคู่ต่อสู้คนแรกมี 5 สุขภาพและคู่ที่สามมีสุขภาพ -2 และตาย
ในเทิร์นแรก:
- ผู้เล่น 1 ยิงศัตรู 2
- ศัตรู 1 เตรียมระเบิดมือ
- Enemy 2 shot player
- ศัตรู 3 ยิงตัวเอง
ในเทิร์นที่สอง:
- ผู้เล่นทุกคนไม่ได้ทำอะไรเลย (ผู้เล่นและศัตรู 2 ไม่สามารถทำอะไรได้ตั้งแต่ที่พวกเขายิงในเทิร์นก่อนหน้าศัตรู 3 นั้นตายแล้ว: เขาจะทำ
Nothing
เพื่อการต่อสู้ที่เหลือ)
อาร์กิวเมนต์ที่สองที่จุดเริ่มต้นของการขัดแย้งคือ: 5 5 5 5
.
เอาท์พุต
คำสั่งควรแสดงผลในรูปแบบที่แสดงด้านล่าง ผลลัพธ์ที่ไม่ถูกต้องถูกตีความว่า 'ไม่มีอะไร' คำสั่งที่ต้องการเป้าหมายควรตามด้วยจำนวนเต็ม ( 0-3
พร้อม0
ตัวแทนผู้เล่นและ1-3
เป็นตัวแทนศัตรู 1-3)
S[target]
: ถ่ายภาพ [เป้าหมาย]D[target]
: พยายามหลบ [เป้าหมาย]P
: เตรียมระเบิดมือT[target]
: ขว้างระเบิดไปที่ [เป้าหมาย]N
: ไม่ทำอะไร.
คำสั่งที่ต้องการเป้าหมาย แต่ถูกป้อนเป้าหมายไม่ใช่ระหว่าง0
และ3
หรือไม่ป้อนเป้าหมายทั้งหมดจะถือว่าเป็นเป้าหมาย0
(ผู้เล่น)
เกณฑ์การให้คะแนน
เมื่อสิ้นสุดการขัดแย้งแต่ละครั้งผู้เล่นจะได้รับคะแนนคำนวณตามสูตรต่อไปนี้:
35 + health at end of standoff
ในกรณีที่ผู้เล่นที่จบลงด้วยความขัดแย้งด้านลบต่อสุขภาพที่พวกเขาจะได้รับคะแนนต่ำกว่า 35 คะแนนต่อไปนี้จะได้รับเป็นโบนัสด้วย:
- สุขภาพส่วนใหญ่: +4 คะแนน
- สุขภาพอันดับสอง: +2 คะแนน
- สุขภาพอันดับสาม: +1 จุด
ในกรณีที่เสมอกันโบนัสที่ต่ำกว่าจะได้รับ (หากคนสองคนเสมอกันที่มีสุขภาพส่วนใหญ่ทั้งคู่จะได้รับ +2 หากมี 3 คนที่มีสุขภาพดีที่สุด +1 และหากทุกคนจบลงอย่างเท่าเทียมกัน +0)
คะแนนสุดท้ายจะถูกกำหนดโดยการคำนวณค่าเฉลี่ยของคะแนนแต่ละบุคคล
กฎ / รายละเอียด
- ลำดับเหตุการณ์ภายในรอบดังนี้:
- ผู้เล่นทุกคนลงมือทำ
- ผู้เล่นที่มีค่าพลังชีวิต 0 หรือน้อยกว่าจะตาย
- ระเบิดที่ไม่ต้องโยนซึ่งจะต้องระเบิดจะระเบิด (ผู้เล่นที่เพิ่งเสียชีวิตจะยังคงได้รับบาดเจ็บ
- ไม่มีการทำงานร่วมกันระหว่างรายการ
- สาม standoffs จะเกิดขึ้นระหว่างผู้เล่นชุดละ 4 คน (คำสั่งของผู้เล่นอาจแตกต่างกันไปในแต่ละข้อขัดแย้ง)
- รายการที่ใช้หน่วยความจำมากเกินไปของพื้นที่ดิสก์จะถูกตัดสิทธิ์
- การอ่านหรือแก้ไขไฟล์นอกเหนือจากรายการของคุณจะทำให้รายการของคุณไม่มีคุณสมบัติ
- รถบรรทุกที่ขับเคลื่อนด้วยคนขี้เมาจะวิ่งไปหาผู้เล่นที่ยังมีชีวิตอยู่ทั้งหมดหลังจาก
50th
เทิร์นหากยังไม่จบในตอนท้ายของ50th
เทิร์น- รถบรรทุกคันนี้สร้างความเสียหาย20 ดาเมจให้กับผู้เล่นสดทุกคน
- Standoffs เกิดขึ้นอย่างรวดเร็ว โปรแกรมจะถูกตัดออกหลังจาก 1 วินาที
- โปรแกรมของคุณจะถูกเรียกทุกครั้งแม้หลังจากที่คุณเสียชีวิต
- คุณสามารถอ่านหรือเขียนไฟล์ไปยังไดเรกทอรีของคุณเท่านั้น (หากรายการของคุณชื่อ JohnDoe คุณสามารถบันทึกไฟล์ในไดเรคทอรีผู้เล่น / JohnDoe /); อย่างไรก็ตามนี่จะไม่ใช่ไดเรกทอรีปัจจุบันขณะที่สคริปต์ของคุณทำงานอยู่
- การหยุดทำงานจะเกิดขึ้นบนเครื่องที่ใช้ Arch Linux (Release 2014.08.01)
โปรดระบุสิ่งต่อไปนี้ในโพสต์ของคุณ:
- ชื่อบอทของคุณ
- คำสั่งเชลล์เพื่อเรียกใช้ bot (เช่น
java Doe.java
) อินพุตจะถูกส่งผ่านบรรทัดคำสั่งเป็นอาร์กิวเมนต์เดียว (java Doe.java 5 "-2,S0 -2,S1 -2,S2 5,N"
) - รหัสของบอทของคุณ
- วิธีรวบรวมบอท (ถ้ามี)
- ภาษา (และรุ่นถ้ามีโดยเฉพาะอย่างยิ่งสำหรับงูใหญ่)
* คอนโทรลเลอร์ใช้เวลานานเกินไปสำหรับหกคน
ป้ายบอกคะแนน
Observer 43.280570409982
MuhammadAli 43.134861217214
Osama 43.031983702572
LateBoomer 42.560275019099
SimpleShooter 42.412885154062
LessSimpleShooter 42.3772
Neo 42.3738
Scared 42.3678
Richochet 42.3263
Equivocator 42.2833
TwentyFourthsAndAHalfCentury 42.2640
Darwin 42.1584
HanSolo 42.1025
Coward 42.0458
ManipulativeBastard 41.8948
Sadist 41.7232
Aggressor 41.7058
CourageTheDog 41.5629
Grenadier 40.9889
Bomberman 40.8840
Spock 40.8713
Sniper 40.6346
DONTNUKEMEBRO 39.8151
PriorityTargets 39.6126
Hippolyta 39.2480
EmoCowboy 39.2069
Zaenille 39.1971
AntiGrenadier 39.1919
PoliticallyCorrectGunman 39.1689
InputAnalyzer 39.1517
Rule0Bot 39.1000
BiasedOne 39.0664
Pacifist 39.0481
StraightShooter 39.0292
Ninja 38.7801
MAD 38.2543
Monkey 37.7089
Label1Goto1 36.2131
Generated: 2014/08/22 03:56:13.470264860 UTC
บันทึก: บน GitHub