Problema
Dada una entrada a
donde a es un valor verdadero / falso, emite el cubo exacto imposible a continuación si es verdadero y el cubo normal exacto a continuación si es falso.
Entrada truthy
:
___________________________________
/ _______________________________ /|
/ / _____________________________/ / |
/ / /| | / / |
/ / / | | / / |
/ / /| | | / / /| |
/ / / | | | / / / | |
/ / / | | | / / /| | |
/ /_/___| | |____________________/ / / | | |
/________| | |_____________________/ / | | |
| _______| | |____________________ | | | | |
| | | | | |___________________| | |__| | |
| | | | |_____________________| | |____| |
| | | / / _____________________| | |_ / /
| | | / / / | | |/ / /
| | | / / / | | | / /
| | |/ / / | | |/ /
| | | / / | | /
| | |/_/_________________________| | /
| |______________________________| | /
|__________________________________|/
Entrada falsy
:
___________________________________
/ _______________________________ /|
/ / _____________________________/ / |
/ / /| | / / |
/ / / | | / / |
/ / /| | | / / /| |
/ / / | | | / / / | |
/ / / | | | / / /| | |
/ /_/___|_|_|____________________/ / / | | |
/__________________________________/ / | | |
| ________________________________ | | | | |
| | | | | |___________________| | |__| | |
| | | | |_____________________| | |____| |
| | | / / _____________________| | |_ / /
| | | / / / | | |/ / /
| | | / / / | | | / /
| | |/ / / | | |/ /
| | | / / | | /
| | |/_/_________________________| | /
| |______________________________| | /
|__________________________________|/
Reglas
- Espacio en blanco al final permitido.
- Nuevas líneas finales permitidas.
- los valores de verdad / falsey pueden intercambiarse (verdad para el cubo real y falsey para el cubo imposible)
- El estilo de entrada debe especificarse
- El código más corto en bytes gana
Respuestas:
SOGL V0.12 , 145 bytes
Pruébalo aquí!
Este programa almacena los datos de línea como 3 números de base 36-46 separados y decodifica cada uno de
ž
los valores en la matriz principal.Debido a la forma abusiva de cómo dibujar las líneas diagonales, la salida tiene 27 líneas de líneas con espacios (que está permitido por el OP)
entrada:
0 - imposible
1 - posible
Explicación:
fuente
1
resultado en la misma salida que otras entradas de verdad"test"
?test
en el cuadro de entrada da como resultado un error. Si su tan grande de un problema que podría simplemente hacer que se tarda entrada de cadena donde "" sería Falsy y todo lo demás TruthyJalea ,
187166 bytesUn programa completo
Pruébalo en línea!
¿Cómo?
103 bytes son un número de base 250 de 101 dígitos, que es una compresión de base 8 de un posible cubo, con espacios finales agregados para igualar las longitudes de fila, sin nuevas líneas y sin 18 caracteres desde el medio de cada fila, como este , pero sin saltos de línea:
Los 8 dígitos de base 8 representan las cadenas de caracteres:
Por lo que la compresión es entonces como el siguiente, donde
1
s,6
s,7
s y0
deben ser reemplazadas por las cuerdas que se muestran arriba s:El programa invierte el proceso y cambia los caracteres que deben cambiarse si el cubo fuera imposible:
fuente
JavaScript (ES6),
352344333 bytesGuardado 2 bytes gracias a @YairRand
Manifestación
Mostrar fragmento de código
fuente
a=
y reemplazar la única referencia a la misma0
(que siempre es igual a la referenciada) se ahorran dos bytes.Carbón , 188 bytes
Pruébalo en línea! El enlace es a la versión falsa; cambie la entrada de
0
a1
para la versión verdadera. Aquí está el código detallado aproximado para el programa anterior:Imprima la parte de la espalda visible a través del "agujero" derecho.
Imprime el "agujero" correcto.
Imprime el borde exterior del cubo.
Imprima el "agujero" superior del cubo.
Imprime el "agujero" frontal del cubo.
Imprima la parte de la parte posterior visible a través del "agujero" frontal.
Haga el cubo imposible si es necesario.
Imprima la parte de la parte posterior visible a través del "agujero" superior.
fuente