誰もが頑固なベセスダファンですか?おそらく黒曜石のエンターテイメントを好むでしょうか?さて、あなたがそれらのいずれかであるなら、次の図はあなたに比較的馴染みがあるはずです。
私はかなりユニークなASCII-Artチャレンジを準備する自由を取りましたので、ここで私があなたに何をさせるつもりかについての最初の手がかりがあります:
_____________________________________________________
/ \
| _____________________________________________ |
| | | |
| | 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でのRobCo Fallout端末設計用の非常に基本的な(空白の)テンプレートです。仕事は次のとおりです。
- まず、このテンプレートを生成します。
- 次に、文字列のリストとそれを埋めるための
l番号0 <= n <= 4を指定します!
フォールアウトハッキングターミナルの2つの動的な部分は次のとおりです。
試行回数
- 残りの試行回数(スペース区切りのボックスで示されます)。
- この課題のために、の
X代わりにを使用します■。
- この課題のために、の
パスワード
- で定義されたパスワードには、
lランダムに印刷可能なASCIIシンボルが散在しています。 - この例でわかるように、パスワードは複数の行をラップできます(
NAMES)。 - 端末画面のすべてのパスワードは、どこにいても同等のチャンスがあります。
- すべてのパスワードは同じ長さであると期待できますが、これは重要ではありません。
- パスワードを分離するために使用できる記号のリストは次のとおり
!"#$%&'()*+/:;<=>?@[\]^_{|}です。 - のすべてのパスワード
lは同じ長さでなければなりません。 - パスワードには、両方の列をラップする可能性があります。
- これは行にも適用されますが、上位バイトアドレスのみに適用されます(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.
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
これらの例は手動で作成されたため、分布はランダム化されていません。申し訳ありません。
これはcode-golfで、最小のバイト数が受け入れられます。合計250 REPの回答が提出されていない場合、3日後にこれを報奨します。
NAMES第二の箇条書きでは意味ですか?「これは問題ではありませんが、すべてのパスワードは同じ長さであると予想されます。」または「lのすべてのパスワードは同じ長さでなければなりません。」私も盲目なのかもしれませんがRACES、どちらの出力にも表示されません。これは、パスワードが使用されていない可能性があることを意味するのでしょうか?であるMath.random(および同等物)は、この課題の目的のために十分にランダム?
