Người bạn địa chất của bạn suýt đá cánh cửa văn phòng của bạn khi anh ta xông vào, mắt háo hức và yêu cầu bạn đi cùng anh ta đến một địa điểm mà anh ta vừa phát hiện ra. Trên đường đi, anh ta giải thích rằng anh ta nghĩ rằng anh ta thực sự đã đạt được vàng. Vấn đề duy nhất là, nó bị chôn sâu dưới lòng đất trong một hang động có mái rất không ổn định. Quá nguy hiểm khi chơi trò chơi, vì vậy anh ta muốn bạn lập trình một trong những robot khám phá hang động của anh ta để thu thập càng nhiều vàng càng tốt trước khi anh ta kéo nó trở lại. Anh ta cũng đề cập rằng anh ta đã thăm dò hang động và tìm thấy một số động vật hoang dã có thể gây hại cho robot, và anh ta cũng đã bỏ một số thiết bị xuống đó mà vẫn có thể sử dụng được. Mỗi robot được trang bị hai cánh tay và một loạt các cảm biến. Khi bạn đến hiện trường, anh ta nói với bạn rằng anh ta đang dự định tuyển thêm nhiều lập trình viên,
Bây giờ, xuống đến nitty-gritty. Các cảm biến truyền thông tin đến chương trình của bạn dưới dạng các ký tự ASCII. Dưới đây là danh sách ý nghĩa của từng nhân vật và mô tả cho bất cứ điều gì bot có thể gặp trong hang động:
Code Name/Description
Y Your bot
You do things
@ Other bots
They do other things
- Ground
This doesn't do things
C Centipede
These will bite you and leave a poison effect
The bite will cost 1 health
The poison effect will last for 3 turns, costing 2 health each turn
B Bats
If bats end up in the same space you are, your bot runs in a random direction during its turn rather than what you told it to do
L Lion (because reasons)
Lions deal heavy damage, 10 health, each time they attack
F Food
Eating this will give you 5 health
Can only be used once
W Water
Drinking this will cure poison effects early
Can only be used once
R Revealer
This will increase the range of your visibility to an 11x11 grid
The extra range will only be 75% correct, but the original range won't be effected
K Knife
You do twice as much damage to other bots if you have a knife
G Gold
The whole reason you're doing this in the first place
N Nurse Nina
She mend you good
Restores your health by 10 while you occupy the same space as her
} Boulder
You can't walk over boulders, and neither can anything else
P Pit
If you fall in a pit, you will be stuck for 3 turns
Kích thước của hang phát triển dựa trên số lượng bot đang tham gia. Nó bắt đầu là 30x30 và nhận thêm 10 x10 cho mỗi bot. Vì vậy, 2 bot sẽ khám phá một hang động 50x50.
Bots bắt đầu với 20 sức khỏe, nhưng chúng không có giới hạn tối đa về sức khỏe.
Đầu vào:
Bạn sẽ nhận được đầu vào thông qua STDIN theo định dạng sau:
20,5,10,1,0,True,False <-health, number gold pieces, number of turns your bot has lasted, number of until the poison wears off, number of turns until you are no longer stuck in a pit, if you have a revealer, if you have a knife
-----
-G}--
--Y-L
-C---
---B-
Dòng đầu tiên chứa thông tin về bot của bạn và phần còn lại là lưới mà bot của bạn có thể nhìn thấy. Nếu bot của bạn chống lại một trong 4 bức tường của hang động, bạn sẽ nhận được một lưới trông giống như thế này (trong trường hợp là tất cả các con đường đến phương Tây):
---
}--
Y--
---
---
Các hang động không bao quanh, và tầm nhìn của bạn cũng không. Các bức tường của hang động không được đánh dấu, dấu hiệu duy nhất bot của bạn nhận được rằng nó đang ở gần một bức tường là tầm nhìn của nó bị giảm đi. Với Revealer, bạn có thể nhận được một cái gì đó như thế này:
--------C--
LW--------B
---K-N-----
--------BR-
-F---------
--B--Y---@N
-W@---F----
------K-F--
----@-}----
R@---G}--}-
--------G-R
Đầu ra:
Bạn nhận được hai lần di chuyển mỗi lượt, mà bạn xuất ra theo định dạng sau:
MNNANW <- Moves are groups of 3 characters representing the action and the direction
Các hành động có thể là như sau:
M Move - Move your bot in the specified direction
A Attack - Attack the square in the specified direction
H Hold - Do nothing
Các hướng có thể là như sau:
NN - North (up)
NE - Northeast (up-right)
EE - East (right)
SE - Southeast (down-right)
SS - South
SW - Southwest
WW - West
NW - Northwest
Các động tác được áp dụng từ trái sang phải.
Biến:
Biến tiến bộ theo cách sau:
Hiệu ứng độc được áp dụng cho bất kỳ người chơi nào bị nhiễm độc
Non-bot di chuyển và tấn công
2a. Sư tử, rết và dơi di chuyển ngẫu nhiên
2b. Sư tử và Rết sẽ tấn công mọi thứ liền kề với nó (bao gồm cả đường chéo)
2c. Hiệu ứng dơi sẽ chỉ được áp dụng cho bot nếu nó ở cùng không gian với dơi
2đ. Y tá Nina sẽ ở một vị trí trong 3 lượt, và sau đó nhảy đến một vị trí ngẫu nhiên.
Bots di chuyển
3a. Nếu bot của bạn cho đầu ra không hợp lệ, nó sẽ không di chuyển
3b. Bot của bạn sẽ cố gắng đến gần không gian được chỉ định bởi đầu ra nhất có thể (xem ghi chú ở phía dưới để biết thêm chi tiết)
3c. Một cuộc tấn công vào một con rết, sư tử hoặc dơi sẽ giết chết nó
3d. Tấn công một bot khác mà không dùng dao sẽ gây sát thương 5 điểm và 10 bằng dao
Quy tắc:
Bám sát các ngôn ngữ phổ biến có thể chạy trên OS X hoặc Linux.
Bạn có thể tùy ý ghi tối đa và không vượt quá 1kb dữ liệu vào một tệp
Ghi điểm:
Bots sẽ chỉ ở trong hang cho đến khi chỉ còn một người, hoặc cho đến khi 50 lượt đi qua, tùy theo điều kiện nào đến trước. Bot của bạn sẽ được đánh giá dựa trên tổng số lượng vàng mà nó thu thập được và số lần quay của nó kéo dài.
Mã điều khiển có thể được tải xuống để kiểm tra tại đây (tạo một thư mục có tên là "bot" trong cùng thư mục mà bạn tải xuống và đặt bot của bạn vào "bot") Bạn sẽ cần NumPy để chạy nó. Hãy thoải mái tìm hiểu về nó, nhưng bạn sẽ phải bào chữa cho mớ hỗn độn ...
Đây là một số mã cho một bot ngẫu nhiên:
#!/usr/bin/python
import random as r
a = ['M','A','H']
d = ['NN','NE','EE','SE','SS','SW','WW','NW']
print(a[r.randint(0,2)]+d[r.randint(0,7)]+a[r.randint(0,2)]+d[r.randint(0,7)])
**** Bot của bạn sẽ luôn di chuyển theo hướng chung mà đầu ra của bạn chỉ định, nhưng nếu nó bị cản trở bởi một tảng đá hoặc một bức tường, hướng chính xác phụ thuộc vào hoàn cảnh. Chẳng hạn, nếu bot của bạn chống lại một bức tường như vậy:
---
}--
Y--
---
---
và đầu ra của bạn là
MNWMSW
bot của bạn sẽ di chuyển một không gian xuống. Nó không thể di chuyển Bắc hoặc Tây, do đó di chuyển không có hiệu lực. Nó có thể di chuyển về phía Nam (và đã làm) nhưng không thể di chuyển về phía Tây. Tuy nhiên, nếu bot của bạn cố gắng di chuyển về phía Đông Bắc, nó sẽ đi thẳng vào không gian đó (chuyển động chéo là chéo, không theo thủ tục)
Bảng xếp hạng
Đây là những điểm trung bình của 4 trò chơi.
The bot of Survival: 54.75
Coward: 52.25
Pufferfish: 50.00
Randombot: 50.00
Indiana Jones: 47.50
TheoremBot: 46.50