¿Alguien aquí es un fanático de Bethesda? ¿Tal vez prefieres Obsidian Entertainment? Bueno, si eres cualquiera de esas cosas, la siguiente imagen debería ser relativamente familiar para ti.
Me he tomado la libertad de preparar un desafío ASCII-Art bastante único, así que aquí está la primera pista de lo que voy a hacer que hagas:
_____________________________________________________
/ \
| _____________________________________________ |
| | | |
| | 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 | |
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
Esta es una plantilla muy básica (en blanco) para el diseño del terminal RobCo Fallout en ASCII puro, su trabajo será:
- Primero, genere esta plantilla.
- Luego, se le da una lista de cadenas
ly un número0 <= n <= 4para llenarlo.
Las dos partes dinámicas de un terminal de piratería son:
El número de intentos
- El número de intentos que le quedan (indicado por cuadros delimitados por espacios).
- A los efectos de este desafío, utilizará en
Xlugar de■.
- A los efectos de este desafío, utilizará en
Las contraseñas
- Las contraseñas, definidas por
l, se intercalan con símbolos ASCII imprimibles al azar. - Las contraseñas, como puede ver en el ejemplo, pueden ajustar varias filas (
NAMES). - Todas las contraseñas en la pantalla del terminal deben tener la misma posibilidad de estar en cualquier lugar.
- Se puede esperar que todas las contraseñas tengan la misma longitud, aunque esto no importa.
- La lista de símbolos utilizables para contraseñas independientes son:
!"#$%&'()*+/:;<=>?@[\]^_{|}. - Todas las contraseñas
ldeben tener la misma longitud. - LAS CONTRASEÑAS DEBEN TENER EL POTENCIAL DE ENVOLTARSE ENTRE AMBAS COLUMNAS.
- Esto también se aplica a las filas, pero solo a una dirección de byte superior (0x18-> 0x01 no es válido).
- El espacio de visualización para las contraseñas en cada lado es de 15 de ancho (con un espacio en cada lado).
- Puede suponer que las palabras no
lserán más largas que esto.
- Puede suponer que las palabras no
- Las contraseñas son solo alfabéticas, es decir, solo letras.
Ejemplo:
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.
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
Si n = 2en el mismo ejemplo:
_____________________________________________________
/ \
| _____________________________________________ |
| | | |
| | 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.
| |_____________________________________________| |
| |
\_______________________________________________________/
\_______________________________________/
Estos ejemplos fueron diseñados manualmente, por lo que la distribución no es aleatoria, lo siento.
Este es el código de golf , el conteo de bytes más bajo será el ganador aceptado. Lo recompensaré después de 3 días si no se han enviado respuestas para un total de 250 REP.
NAMESen el segundo punto de viñeta? " Se puede esperar que todas las contraseñas tengan la misma longitud, aunque esto no importa " o " Todas las contraseñas en l deben tener la misma longitud ". Puede que solo sea yo siendo ciego (¡otra vez!) Pero no veo RACESen ninguno de los resultados, ¿deberíamos tomar esto para significar que debería existir la posibilidad de que no se use una contraseña? ¿Es Math.random(y equivalentes) suficientemente aleatorio para los propósitos de este desafío?
