आपके कार्यक्रम को एक बहु-पंक्ति वाला स्ट्रिंग लेना है, जैसे:
#############
# #
# p #
# #
#############
p
खिलाड़ी है और #
एक ब्लॉक है।
अब इसके तहत टर्मिनल में एक इनपुट लाइन होनी चाहिए:
How do you want to move?
यदि खिलाड़ी के l
पास कोई ब्लॉक नहीं होने पर बाएं चलना होता है, तो कोई और, जब कोई ब्लॉक होता है, तो वह नहीं गुजर सकता है और निश्चित रूप से आगे नहीं बढ़ता है, अब टर्मिनल में आउटपुट अपडेट किया जाना है (आदि) और पिछला आउटपुट क्लियर / ओवरराइट किया हुआ):
#############
# #
# p #
# #
#############
वह l
बाईं ओर, r
दाईं ओर, u
ऊपर और d
नीचे टाइप कर सकता है ।
इनपुट हमेशा बहुस्तरीय होगा, लेकिन हमेशा सही आयत में रिक्त स्थान के साथ गद्देदार नहीं होगा। इसके अलावा, हैश स्ट्रिंग में कहीं भी हो सकता है, और हमेशा एक दूसरे से जुड़ा नहीं रहेगा। उदाहरण के लिए:
## ##
# #
## p
#
एक वैध कालकोठरी है। (प्रत्येक पंक्ति पर अनुगामी रिक्त स्थान की कमी पर ध्यान दें)
यदि खिलाड़ी स्ट्रिंग के बाहर जाता है, तो उसे प्रदर्शित करने की आवश्यकता नहीं है। लेकिन अगर वह बाद में वापस आता है, तो उसे फिर से प्रदर्शित किया जाना चाहिए।
और स्ट्रिंग "बाहर" की सीमाएं आयत length(longest_line)
द्वारा होती number_of_lines
हैं, इसलिए भले ही एक पंक्ति सही पर रिक्त स्थान के साथ गद्देदार न हो, उस स्थान को सीमा से बाहर नहीं माना जाता है। पहले के कालकोठरी का उपयोग करके उदाहरण:
## ##
# #p
##
#
दूसरी पंक्ति में वह स्थान नहीं था जहां पी अब है, लेकिन यह कोई मायने नहीं रखता है।
अंत में, आपके कार्यक्रम को हमेशा के लिए इनपुट लेना चाहिए।
परीक्षण के मामलों
टेस्ट केस 1:
####
# p#
#
####
How do you want to move?
d
####
# #
# p
####
टेस्ट केस 2:
####
p#
#
####
How do you want to move?
l
####
p #
#
####
How do you want to move?
d
####
#
p #
####
How do you want to move?
l
####
#
p #
####
How do you want to move?
l
####
#
#
####
How do you want to move?
r
####
#
p #
####
बेशक, ये पूरे नहीं हैं। आपके कोड को हमेशा के लिए लूप करना चाहिए और प्रत्येक आउटपुट के बीच स्क्रीन को साफ करना चाहिए ।
आपके आउटपुट को इनपुट के लिए संकेत देने की अनुमति है How do you want to move?\n<input>
या How do you want to move?<input>
(जैसे कि आपको किसी रिक्त लाइन पर इनपुट की आवश्यकता नहीं है), और आपको कालकोठरी और प्रॉम्प्ट की अंतिम पंक्ति के बीच एक खाली लाइन की आवश्यकता नहीं है। (हालांकि वे एक ही लाइन पर नहीं हो सकते)
मानक खामियों को अस्वीकार कर दिया जाता है! यह कोड-गोल्फ है, इसलिए बाइट्स में सबसे छोटा कोड जीतता है!
l
, r
, u
, या d
) कुछ भी हो सकता है, न सिर्फ "कैसे आप ले जाना चाहते हैं"? यह वास्तव में गोल्फ के अलावा जवाबों को प्रभावित नहीं करता है।