आपके भूवैज्ञानिक मित्र ने आपके कार्यालय के दरवाजे को लगभग उतारा, क्योंकि वह उत्साह में आँखें फोड़ रहा था, और आपको उसके साथ एक साइट पर आने के लिए कहा जिसे उसने खोजा था। रास्ते में वह समझाता है कि उसे लगता है कि वह सचमुच सोने पर सुहागा है। केवल समस्या है, यह एक बहुत ही अस्थिर छत के साथ एक गुफा में गहरे भूमिगत दफन है। स्पेलुनकिंग के लिए जाना बहुत खतरनाक है, इसलिए वह चाहता है कि आप उसकी एक गुफा की खोज करने वाले रोबोट को उतने ही सोने के रूप में इकट्ठा कर सकें जितना वह उसे वापस खींचने से पहले कर सकता है। उन्होंने यह भी उल्लेख किया है कि उन्होंने गुफा की जांच की है और कुछ वन्यजीवों को पाया है जो रोबोट के लिए हानिकारक हो सकते हैं, और यह भी कि उन्होंने कुछ उपकरण नीचे गिरा दिए हैं जो अभी भी उपयोग करने योग्य हो सकते हैं। प्रत्येक रोबोट दो भुजाओं और कई सेंसरों से सुसज्जित है। जब आप घटनास्थल पर पहुंचते हैं, तो वह बताता है कि वह अधिक कोडर भर्ती करने की योजना बना रहा है,
अब, नीचे किरकिरा करने के लिए। सेंसर ASCII पात्रों के रूप में आपके कार्यक्रम की जानकारी देते हैं। यहां इस बात की सूची दी गई है कि प्रत्येक पात्र का क्या मतलब है और गुफा में किसी भी चीज का वर्णन हो सकता है:
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
कितने बॉट भाग ले रहे हैं, इसके आधार पर कैवर्न का आकार बढ़ता है। यह एक 30x30 के रूप में शुरू होता है, और इसे प्रत्येक बॉट के लिए अतिरिक्त 10x10 मिलता है। तो 2 बॉट्स एक 50x50 गुफा का पता लगाएंगे।
बॉट्स 20 स्वास्थ्य के साथ शुरू होते हैं, लेकिन उनके पास स्वास्थ्य पर अधिकतम सीमा नहीं है।
इनपुट:
आप निम्न प्रारूप में STDIN के माध्यम से इनपुट प्राप्त करेंगे:
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-
पहली पंक्ति में आपके बॉट के बारे में जानकारी है, और बाकी ग्रिड है जो आपके बॉट देख सकते हैं। यदि आपका बॉट गुफा की 4 दीवारों में से एक के खिलाफ है, तो आपको एक ग्रिड मिलेगा जो इस तरह दिखता है (पश्चिम के सभी रास्ते होने के मामले में):
---
}--
Y--
---
---
गुफा के चारों ओर लपेट नहीं है, और न ही आपकी दृष्टि है। गुफा की दीवारों को चिह्नित नहीं किया जाता है, केवल संकेत आपके बॉट को प्राप्त होता है कि यह एक दीवार के पास है इसका दृश्य कम हो रहा है। Revealer के साथ, आपको ऐसा कुछ मिल सकता है:
--------C--
LW--------B
---K-N-----
--------BR-
-F---------
--B--Y---@N
-W@---F----
------K-F--
----@-}----
R@---G}--}-
--------G-R
आउटपुट:
आपको प्रति मोड़ दो चालें मिलती हैं, जिन्हें आप निम्न प्रारूप में आउटपुट करते हैं:
MNNANW <- Moves are groups of 3 characters representing the action and the direction
संभावित क्रियाएं निम्नलिखित हैं:
M Move - Move your bot in the specified direction
A Attack - Attack the square in the specified direction
H Hold - Do nothing
संभावित दिशा-निर्देश निम्नलिखित हैं:
NN - North (up)
NE - Northeast (up-right)
EE - East (right)
SE - Southeast (down-right)
SS - South
SW - Southwest
WW - West
NW - Northwest
चाल को बाएं से दाएं पर लागू किया जाता है।
बदल जाता है:
निम्नलिखित फैशन में प्रगति करता है:
जहर प्रभाव किसी भी खिलाड़ी पर लागू किया जाता है जिसे जहर दिया गया है
गैर-बॉट चलते हैं और हमला करते हैं
2 ए। शेर, सेंटीपीड और चमगादड़ बेतरतीब ढंग से चलते हैं
2 बी। शेर और सेंटीपीड्स उस सब पर हमला करेंगे जो सीधे इसके समीप है (तिरछे सहित)
2c। बल्ला प्रभाव केवल एक बॉट पर लागू होगा यदि यह बल्ले के समान स्थान पर हो
2 डी। नर्स नीना 3 मोड़ के लिए एक स्थान पर रहेगी, और फिर एक यादृच्छिक स्थान पर कूद जाएगी।
बोट्स चलते हैं
3 ए। यदि आपका बॉट अमान्य आउटपुट देता है, तो यह नहीं चलेगा
3 बी। आपका बॉट जितना संभव हो उतना आउटपुट द्वारा निर्दिष्ट स्थान के करीब पहुंचने की कोशिश करेगा (अधिक विस्तार के लिए नीचे नोट देखें)
3c। एक सेंटीपीड, शेर या बैट पर एक हमला उसे मार देगा
3 डी। चाकू के बिना दूसरे बॉट पर हमला करना 5 नुकसान करेगा, और 10 चाकू से होगा
नियम:
आम भाषाओं पर टिके रहें जिन्हें OS X या Linux पर चलाया जा सकता है।
आप वैकल्पिक रूप से एक फ़ाइल में 1kb डेटा से अधिक नहीं लिख सकते हैं
स्कोरिंग:
बॉट्स केवल तब तक कैवर्न में रहेंगे जब तक कि केवल एक ही रहता है, या जब तक 50 मोड़ नहीं हो जाते, जो भी पहले आता है। आपके बॉट को सोने के सिक्कों की संख्या के आधार पर आंका जाएगा कि उसने कितने सोने के सिक्के एकत्र किए और कितने चले।
यहां परीक्षण के लिए कंट्रोलर कोड डाउनलोड किया जा सकता है (उसी फोल्डर में "बॉट्स" नामक एक फोल्डर बनाएं जिसे आप इसे डाउनलोड करते हैं, और अपने बॉट को "बॉट्स" के अंदर डालते हैं) आपको इसे चलाने के लिए NumPy की आवश्यकता होगी। इसके माध्यम से खुदाई करने के लिए स्वतंत्र महसूस करें, लेकिन आपको गंदगी का बहाना करना होगा ...
यहाँ एक यादृच्छिक बॉट के लिए कुछ कोड है:
#!/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)])
**** आपका बॉट हमेशा सामान्य दिशा में आगे बढ़ेगा जो आपका आउटपुट निर्दिष्ट करता है, लेकिन अगर यह एक चट्टान या दीवार से बाधित होता है, तो सटीक दिशा परिस्थिति पर निर्भर करती है। उदाहरण के लिए, यदि आपका बॉट दीवार की तरह है, तो:
---
}--
Y--
---
---
और आपका आउटपुट है
MNWMSW
आपका बॉट एक स्थान नीचे चला जाएगा। यह उत्तर या पश्चिम की ओर नहीं जा सकता था, इसलिए इस कदम का कोई प्रभाव नहीं पड़ा। यह दक्षिण को स्थानांतरित कर सकता था (और किया) लेकिन पश्चिम को नहीं हिला सका। हालाँकि, यदि आपके बॉट ने पूर्वोत्तर को स्थानांतरित करने की कोशिश की है, तो यह सीधे उस स्थान पर जाएगा (विकर्ण आंदोलन विकर्ण है, प्रक्रियात्मक नहीं)
लीडरबोर्ड
ये 4 खेलों के औसत अंक हैं।
The bot of Survival: 54.75
Coward: 52.25
Pufferfish: 50.00
Randombot: 50.00
Indiana Jones: 47.50
TheoremBot: 46.50