Burda Bethesda hayranı olan var mı? Belki Obsidyen Eğlencesini tercih edersin? Aşağıdaki resimlerden herhangi birindenseniz, size nispeten tanıdık gelmelidir.
Oldukça benzersiz bir ASCII-Art mücadelesi hazırlama özgürlüğünü aldım, işte size ne yapacağımla ilgili ilk ipucu:
_____________________________________________________
/ \
| _____________________________________________ |
| | | |
| | 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 | |
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
Saf ASCII'de RobCo Fallout terminal tasarımı için çok temel (boş) bir şablon, işiniz:
- İlk olarak, bu şablonu oluşturun.
- Sonra, bir dizeler listesi
l
ve0 <= n <= 4
doldurmak için bir sayı verildi!
Bir serpinti hack terminalinin iki dinamik kısmı şunlardır:
Deneme Sayısı
- Kalan deneme sayısı (alan sınırlamalı kutularla gösterilir).
- Bu meydan okuma amaçla kullanmakta olacak
X
yerine■
.
- Bu meydan okuma amaçla kullanmakta olacak
Şifreler
- Tarafından tanımlanan şifreler,
l
rastgele yazdırılabilir ASCII sembolleri ile serpiştirilir. - Parolalar, örnekte anlayacağınız gibi, birden çok satırı sarabilir (
NAMES
). - Terminal ekranındaki tüm parolaların her yerde olma şansı eşit olmalıdır.
- Önemli olmasa da, tüm şifrelerin eşit uzunlukta olması beklenebilir.
- Ayrı şifrelerine kullanılabilir semboller aşağıda sunulduğu gibidir:
!"#$%&'()*+/:;<=>?@[\]^_{|}
. - İçindeki tüm şifreler
l
eşit uzunlukta olmalıdır. - ŞİFRELER İKİ KOLON ARASINDAKİ SARMA POTANSİYELİ OLMALIDIR.
- Bu, satırlar için de geçerlidir, ancak yalnızca daha yüksek bir bayt adresine gider (0x18-> 0x01 geçersiz).
- Her iki taraftaki parolaların görüntüleme alanı 15 genişliğindedir (her iki tarafta da boşluk vardır).
- Hiçbir sözcüğün
l
bundan daha uzun olmayacağını varsayabilirsiniz .
- Hiçbir sözcüğün
- Parolalar yalnızca alfabetiktir, yalnızca harf anlamına gelir.
Misal:
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.
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
Eğer n = 2
aynı örnek üzerinde:
_____________________________________________________
/ \
| _____________________________________________ |
| | | |
| | 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.
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
Bu örnekler manuel olarak hazırlanmıştır, bu yüzden dağıtım rastgele değildir, üzgünüm.
Bu kod golf , en düşük bayt sayısı kabul edilen kazanan olacaktır. Toplam 250 REP için yanıt gönderilmediyse 3 gün sonra bunu ödüllendireceğim.
NAMES
2 maddedeki demek? " Önemli olmasa da, tüm parolaların eşit uzunlukta olması beklenebilir. " Veya " l'deki tüm parolaların eşit uzunlukta olması gerekir . "? Sadece kör olabiliyorum (yine!) Ama RACES
her iki çıktıda da görmüyorum - bunu kullanmamak için bir parola kullanılmaması gerektiği anlamına mı gelmeliyiz? Mı Math.random
bu meydan amaçları için yeterli bir rastgele (ve benzerleri)?