Bế mạc 4 người
Sự miêu tả
Bạn bằng cách nào đó đã tìm thấy chính mình trong một bế tắc bốn chiều. Một khẩu súng nạp nằm trong tay bạn, và một số lựu đạn được móc vào thắt lưng của bạn.
Mục tiêu là có sức khỏe tốt nhất khi kết thúc cuộc chiến. Bế tắc đã kết thúc khi nhiều nhất một người có sức khỏe tích cực.
Mỗi người chơi có 5
sức khỏe và chết khi sức khỏe giảm xuống / xuống dưới 0
. Lượt người chơi chết là lượt cuối cùng mà người chơi có thể nhận sát thương.
Nếu có một người chơi trực tiếp ở cuối bế tắc, người chơi đó sẽ thắng. Nếu không, người chơi có ít sức khỏe tiêu cực nhất sẽ chiến thắng.
Hành động
Bắn : Chụp một ai đó.
2
sát thương nếu bắn kẻ thù còn sống0
sát thương nếu bắn chết kẻ thùhealth_at_start_of_turn+2
thiệt hại nếu tự bắn. (Lưu ý rằng điều này sẽ giúp bạn có-2
sức khỏe NHẤT .)- Nếu một kẻ thù bắn vào bạn trong cùng một lượt bạn tự bắn, bạn sẽ kết thúc cuộc chiến với -4 máu (bạn vẫn nhận sát thương từ những người chơi khác trong lượt bạn tự sát).
- Hành động của bạn lần lượt sau sẽ bị bỏ qua (và được giả định là
Nothing
).
Dodge : Cố gắng né một phát bắn của đối thủ.
Chuẩn bị : Bỏ lựu đạn của bạn và chuẩn bị ném nó.
- Bạn chỉ có ba lượt để ném nó, trước khi bạn bị nổ tung (
6
gây sát thương cho bản thân,3
gây sát thương cho tất cả kẻ thù còn sống) - Chết với một quả lựu đạn chưa từng thấy tương đương với việc không ném lựu đạn trong ba lượt.
- Bạn chỉ có ba lượt để ném nó, trước khi bạn bị nổ tung (
Ném : Lựu đạn về phía ai đó và hy vọng điều tốt nhất.
- Mục tiêu nhận
8
sát thương nếu còn sống - Mọi người khác (bao gồm cả chính bạn) nhận
3
sát thương nếu còn sống
- Mục tiêu nhận
Không có gì : Đứng yên trong một lượt và xem tất cả mọi người chết.
Đầu vào
Chương trình của bạn sẽ được thông qua các thông tin sau:
- Sức khỏe của mỗi người chơi
Danh sách các hành động được thực hiện bởi người chơi đó kể từ khi bắt đầu bế tắc Dưới đây là định dạng cho thông tin được truyền cho mỗi người chơi:
[Health],[Action 1],[Action 2],[Action 3],...
Các hành động sẽ được đưa ra ở định dạng được chỉ định trong phần Đầu ra .
Bạn sẽ nhận được 4 chuỗi như vậy, cách nhau bởi một khoảng trắng và được truyền dưới dạng một đối số. Thứ tự của các chuỗi này là:
[Player Info] [Opponent 1 Info] [Opponent 2 Info] [Opponent 3 Info]
Các chuỗi được thông qua như là đối số thứ hai. Đối số đầu tiên chứa một số nguyên xác định duy nhất trạng thái chờ được ban hành. Bế tắc giữa cùng một nhóm người chơi được đảm bảo không đồng thời. Tuy nhiên, nhiều lần bế tắc sẽ xảy ra cùng một lúc.
Ví dụ:
$./Player.bash 5 "3,S2,N 5,P,N 3,S0,N -2,S3,N"
Hiện tại, người chơi và đối thủ thứ hai có 3 máu, đối thủ thứ nhất có 5 máu và đối thủ thứ ba có -2 máu và đã chết.
Ở lượt đầu tiên:
- Người chơi 1 bắn kẻ thù 2
- Kẻ thù 1 đã chuẩn bị một quả lựu đạn
- Kẻ thù bắn 2 phát
- Kẻ thù 3 tự bắn mình
Ở lượt thứ hai:
- Tất cả người chơi không làm gì cả. (Người chơi và kẻ thù 2 không thể làm bất cứ điều gì kể từ khi họ bắn vào lượt trước. Kẻ thù 3 đã chết: anh ta sẽ làm
Nothing
trong phần còn lại của bế tắc.)
Đối số thứ hai khi bắt đầu bế tắc là : 5 5 5 5
.
Đầu ra
Một lệnh nên được xuất ra ở định dạng được liệt kê dưới đây. Một đầu ra không hợp lệ được hiểu là "Không có gì". Một lệnh yêu cầu một mục tiêu phải được theo sau bởi một số nguyên ( 0-3
, 0
đại diện cho người chơi và 1-3
đại diện cho kẻ thù 1-3).
S[target]
: Bắn [mục tiêu].D[target]
: Cố gắng né tránh [mục tiêu].P
: Chuẩn bị một quả lựu đạn.T[target]
: Ném lựu đạn vào [mục tiêu].N
: Không làm gì cả.
Một lệnh cần một mục tiêu, nhưng được cung cấp một mục tiêu không nằm giữa 0
và 3
không được cung cấp hoàn toàn một mục tiêu sẽ được giả định để nhắm mục tiêu 0
(người chơi).
Chấm điểm
Vào cuối mỗi lần chờ, người chơi nhận được một số điểm được tính theo công thức sau:
35 + health at end of standoff
Trong trường hợp người chơi kết thúc cuộc chiến với sức khỏe tiêu cực, họ sẽ nhận được điểm dưới 35 . Các điểm sau đây cũng được thưởng như một phần thưởng:
- Sức khỏe nhiều nhất: +4 điểm
- Sức khỏe thứ hai: +2 điểm
- Sức khỏe thứ ba: +1 điểm.
Trong trường hợp hòa, phần thưởng thấp hơn được cấp (nếu hai người có nhiều sức khỏe nhất, cả hai đều được cấp +2; nếu có 3 người có nhiều sức khỏe nhất, +1 và nếu mọi người kết thúc như nhau, +0).
Điểm cuối cùng được xác định bằng cách tính giá trị trung bình của tất cả các điểm riêng lẻ.
Quy tắc / Chi tiết
- Thứ tự các sự kiện trong một lượt như sau:
- Tất cả người chơi làm hành động của họ.
- Người chơi có 0 hoặc ít sức khỏe sẽ chết.
- Lựu đạn Unthrown cần nổ, sẽ phát nổ (người chơi vừa chết vẫn bị tổn thương, vì đây vẫn là lượt họ chết).
- Không có sự hợp tác giữa các mục.
- Ba * bế tắc sẽ xảy ra giữa mỗi bộ 4 người chơi. (Thứ tự của người chơi có thể thay đổi theo từng bế tắc).
- Các mục tiêu thụ quá nhiều bộ nhớ của dung lượng đĩa sẽ bị loại.
- Đọc từ hoặc sửa đổi các tệp khác với mục nhập của bạn sẽ không đủ điều kiện cho mục nhập của bạn.
- Một chiếc xe tải, được điều khiển bởi một người say rượu, sẽ chạy qua tất cả những người chơi còn sống sau khi
50th
rẽ, nếu cuộc đình công vẫn chưa kết thúc vào cuối50th
lượt.- Chiếc xe tải này gây 20 sát thương cho tất cả người chơi trực tiếp.
- Bế tắc xảy ra nhanh chóng. Các chương trình bị cắt sau 1 giây.
- Chương trình của bạn sẽ được gọi mỗi lượt, ngay cả sau khi bạn đã chết.
- Bạn chỉ có thể đọc hoặc ghi tệp vào thư mục của mình (nếu mục nhập của bạn có tên JohnDoe, bạn có thể lưu tệp trong thư mục người chơi / JohnDoe /); tuy nhiên, đây sẽ KHÔNG phải là thư mục hiện tại trong khi tập lệnh của bạn đang chạy.
- Cuộc đình công sẽ diễn ra trên một máy chạy Arch Linux (Phiên bản 2014 / 08.01).
Bộ điều khiển có sẵn trên GitHub .
Vui lòng bao gồm những điều sau đây trong bài viết của bạn:
- Tên cho bot của bạn
- Một lệnh shell để chạy bot (ví dụ
java Doe.java
) Đầu vào sẽ được chuyển qua dòng lệnh dưới dạng một đối số (java Doe.java 5 "-2,S0 -2,S1 -2,S2 5,N"
) - Mã bot của bạn
- Làm thế nào bot nên được biên dịch (nếu có)
- Ngôn ngữ (và phiên bản nếu có, đặc biệt là đối với python)
* Bộ điều khiển đang diễn ra quá lâu trong sáu.
Bảng điểm
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
Nhật ký: trên GitHub