यहाँ कोई भी एक कठिन बेथेस्डा प्रशंसक है? हो सकता है कि आप ओब्सीडियन एंटरटेनमेंट को पसंद करते हैं? ठीक है, अगर आप निम्नलिखित चीजों की तुलना में उन चीजों में से एक हैं, तो आपको अपेक्षाकृत परिचित होना चाहिए।
मैंने ASCII- कला चुनौती के लिए एक अद्वितीय तैयारी करने की स्वतंत्रता ली है, इसलिए यहाँ पहला सुराग है कि मैं आपको क्या करने जा रहा हूं:
_____________________________________________________
/ \
| _____________________________________________ |
| | | |
| | Welcome to ROBCO Industries (TM) Termlink | |
| | Password Required | |
| | Attempts Remaining: | |
| | | |
| | 0x01 | 0x0D | |
| | 0x02 | 0x0E | |
| | 0x03 | 0x0F | |
| | 0x04 | 0x10 | |
| | 0x05 | 0x11 | |
| | 0x06 | 0x12 | |
| | 0x07 | 0x13 | |
| | 0x08 | 0x14 | |
| | 0x09 | 0x15 | |
| | 0x0A | 0x16 | |
| | 0x0B | 0x17 | |
| | 0x0C | 0x18 | |
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
यह शुद्ध ASCII में रोबो फॉलआउट टर्मिनल डिजाइन के लिए एक बहुत ही बुनियादी (रिक्त) टेम्पलेट है, आपका काम निम्न होगा:
- सबसे पहले, इस टेम्पलेट को उत्पन्न करें।
- फिर, तार की एक सूची
l
और0 <= n <= 4
इसे भरने के लिए एक नंबर दिया गया!
फॉलआउट हैकिंग टर्मिनल के दो गतिशील हिस्से हैं:
प्रयास की संख्या
- आपके द्वारा बचे हुए प्रयासों की संख्या (स्थान सीमांकित बक्से द्वारा इंगित)।
- इस चुनौती के उद्देश्य के लिए आप
X
इसके बजाय उपयोग करेंगे■
।
- इस चुनौती के उद्देश्य के लिए आप
पासवर्ड
- पासवर्ड, द्वारा परिभाषित किया गया है
l
, यादृच्छिक मुद्रण योग्य ASCII प्रतीकों के साथ मिलाया जाता है। - पासवर्ड, जैसा कि आप उदाहरण से बता सकते हैं, कई पंक्तियों (
NAMES
) को लपेट सकता है । - टर्मिनल स्क्रीन के सभी पासवर्डों को कहीं भी होने की समान संभावना होनी चाहिए।
- सभी पासवर्ड समान लंबाई के होने की उम्मीद की जा सकती है, हालांकि यह कोई फर्क नहीं पड़ता।
- अलग पासवर्ड के लिए प्रयोग करने योग्य प्रतीकों की सूची इस प्रकार हैं:
!"#$%&'()*+/:;<=>?@[\]^_{|}
। - सभी पासवर्ड
l
समान लंबाई के होने चाहिए। - PASSWORDS को बॉटम बॉटम को लिखने के लिए संभावित होना चाहिए।
- यह पंक्तियों के लिए भी जाता है, लेकिन केवल एक उच्च बाइट पते (0x18-> 0x01 अमान्य है) के लिए।
- दोनों तरफ पासवर्ड के लिए डिस्प्ले स्पेस 15 वाइड (दोनों तरफ स्पेस के साथ) है।
- आप मान सकते हैं कि कोई शब्द इससे
l
अधिक लंबा नहीं होगा।
- आप मान सकते हैं कि कोई शब्द इससे
- पासवर्ड केवल वर्णमाला हैं, जिसका अर्थ केवल अक्षर हैं।
उदाहरण:
l = ["SMART","ENACT","SWORE","PITYS","SMELL","CARTS","RACES"]
, n = 4
_____________________________________________________
/ \
| _____________________________________________ |
| | | |
| | Welcome to ROBCO Industries (TM) Termlink | |
| | Password Required | |
| | Attempts Remaining: X X X X | | # N = 4 drives these X's.
| | | |
| | 0x01 $?_/%$ENACT||"} | 0x0D TYS"_'$\#|^%&{} | |
| | 0x02 }:!*@{/_<"[]#>; | 0x0E #{!"^&\]'|}_[$% | |
| | 0x03 $%&'()*+/:;<\_' | 0x0F }|[(%SMELL/_$@( | |
| | 0x04 ^SMART(!@$*'^_@ | 0x10 []_#!"{|}'%$\&^ | |
| | 0x05 (*@#%}*(!%)^(_! | 0x11 %$}[!\#'^&_]{|" | |
| | 0x06 $%&'()*+/:;<_@) | 0x12 \SWORE|%'_!}\^" | |
| | 0x07 "/')=*%!&>#<:$+ | 0x13 ^{['&$|!_]%\"#} | |
| | 0x08 ;'*$&"(<%!#)RAC | 0x14 ']!|^#[$"_\}&{% | |
| | 0x09 ES:($&';%#+"<*/ | 0x15 @)($!CARTS*!@$_ | |
| | 0x0A ;'*$&"(<%!#)/+: | 0x16 !#%${"'}&[]^|_\ | |
| | 0x0B |'_!}$\%["#^{&] | 0x17 ]"_#$&}^%[{|\'! | |
| | 0x0C #{!"^&\]'|}_[PI | 0x18 _![&#{$%\^'|}"] | | # Notice how PITYS wrapped.
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
यदि n = 2
एक ही उदाहरण पर:
_____________________________________________________
/ \
| _____________________________________________ |
| | | |
| | Welcome to ROBCO Industries (TM) Termlink | |
| | Password Required | |
| | Attempts Remaining: X X | | # N = 2 drives these X's.
| | | |
| | 0x01 $?_/%$ENACT||"} | 0x0D TYS"_'$\#|^%&{} | |
| | 0x02 }:!*@{/_<"[]#>; | 0x0E #{!"^&\]'|}_[$% | |
| | 0x03 $%&'()*+/:;<\_' | 0x0F }|[(%SMELL/_$@( | |
| | 0x04 ^SMART(!@$*'^_@ | 0x10 []_#!"{|}'%$\&^ | |
| | 0x05 (*@#%}*(!%)^(_! | 0x11 %$}[!\#'^&_]{|" | |
| | 0x06 $%&'()*+/:;<_@) | 0x12 \SWORE|%'_!}\^" | |
| | 0x07 "/')=*%!&>#<:$+ | 0x13 ^{['&$|!_]%\"#} | |
| | 0x08 ;'*$&"(<%!#)RAC | 0x14 ']!|^#[$"_\}&{% | |
| | 0x09 ES:($&';%#+"<*/ | 0x15 @)($!CARTS*!@$_ | |
| | 0x0A ;'*$&"(<%!#)/+: | 0x16 !#%${"'}&[]^|_\ | |
| | 0x0B |'_!}$\%["#^{&] | 0x17 ]"_#$&}^%[{|\'! | |
| | 0x0C #{!"^&\]'|}_[PI | 0x18 _![&#{$%\^'|}"] | | # Notice how PITYS wrapped.
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
इन उदाहरणों को मैन्युअल रूप से तैयार किया गया था, इसलिए वितरण यादृच्छिक रूप से खेदजनक नहीं है।
यह कोड-गोल्फ है , सबसे कम बाइट-काउंट स्वीकृत विजेता होगा। मैं 3 दिनों के बाद इसका सामना करूंगा यदि कुल 250 आरईपी के लिए कोई जवाब नहीं दिया गया है।
NAMES
2 बुलेट बिंदु में क्या मतलब है? " सभी पासवर्ड समान लंबाई के होने की उम्मीद की जा सकती है, हालांकि यह कोई फर्क नहीं पड़ता। " या " एल में सभी पासवर्ड समान लंबाई के होने चाहिए ?" यह सिर्फ मुझे अंधा हो सकता है (फिर से!), लेकिन मैं RACES
या तो आउटपुट में नहीं देखता हूं - क्या हमें इसका मतलब यह लेना चाहिए कि पासवर्ड का उपयोग नहीं होने की संभावना होनी चाहिए? क्या Math.random
(और समकक्ष) इस चुनौती के प्रयोजनों के लिए पर्याप्त रूप से यादृच्छिक है?