Ahora que otros usuarios han ayudado a Trump a construir el muro , es hora de que lo escales.
Este es un desafío de arte ascii en el que debes sacar un muro de escalada con presas colocadas al azar.
Una pared de escalada está compuesta de paneles, cada uno de los cuales tiene entre 3 y 10 bodegas y tiene 5 paneles de altura. Cada panel tiene 4 caracteres de alto y 10 caracteres de ancho
Usamos |
para representar el lado de la pared (el arête) y a -
para representar los bordes de los paneles. Las esquinas de los paneles se muestran +
y las bodegas se muestran como o
.
Finalmente, la pared debe tener America!
en la parte superior e Mexico
inferior.
Su programa no debe recibir ninguna entrada a menos que se requiera una entrada para ejecutarse y debe generar algo similar al siguiente
Este es un ejemplo de salida:
America!
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
| o |
| o o |
| o o |
| o o |
+----------+
Mexico
Esto puede establecerse de manera confusa, por lo que está estructurado más claramente a continuación
Entrada
Zilcho No debe tomar absolutamente ninguna entrada.
Salida
Un muro de escalada ascii-art compuesto por 5 paneles, cada uno de 6 líneas por 12 columnas con America!
centrado en la parte superior y Mexico
centrado en la parte inferior. Cada panel tiene un patrón idéntico generado aleatoriamente por el programa. El patrón del panel consiste en un número aleatorio de retenciones distribuidas aleatoriamente, entre 3 y 10.
Reglas
- No se permite entrada
- Yo diría "no hay incorporados", pero si su idioma tiene un incorporado para esto, lo aceptaré automáticamente como el ganador.
- Este es el código de golf, por lo que gana el código más corto (en bytes).
- La salida sin retenciones debe ser exactamente la misma que la anterior, nuevamente sin retenciones.
- Aleatorio es el aleatorio definido aquí
Respuestas:
Jalea ,
6557 bytesPrimera vez el uso del nuevo cuño
⁽
, una de dos puntos de código literal de cadena entera (⁽¥0
= 2049)Programa completo sin entrada e impresión de la pared.
Pruébalo en línea!
¿Cómo?
fuente
)o <-- a space
. ¡Genuinamente me hizo reír!PHP, 138 bytes
Pruébalo en línea!
Expandido
fuente
JavaScript (ES6),
194160bytesIntentalo
El patrón de las retenciones cambiará cada 2 segundos en el Fragmento a continuación.
Explicación
h
, que recibe un valor inicial de0
; esto mantendrá el recuento de la cantidad de retenciones en el panel cuando las agreguemos.g
, que es una función recursiva que usaremos para crear el patrón aleatorio de retenciones en el panel. Volveremos a esto en un momento.America!\n
.+----------+\n
) y lo asignamos a la variablet
, agregándolo a la salida en el proceso.| |\n
), la repetimos 4 veces y agregamost
.g
, pasando la cadena del paso anterior como argumento, a través del parámetrop
.g
:h>2
(es decir, si tenemos 3 o más retenciones).p
.g
nuevamente, esta vez pasando una copia modificada dep
como argumento.p
tiene elreplace
método utilizado, reemplazando todos los<space>
caracteres con a<space>
o ano
haciendo referencia al índice de caracteres (0 o 1) de la cadena<space>o
.Math.random()
, que devuelve un número decimal entre 0 y 1, exclusivo..8
. Con 40 espacios en el panel y solo un máximo de 10 retenciones, esto mejora la distribución de las retenciones en el panel (.75
sería más preciso, pero, con suerte, me permitirá la concesión por el bien de guardar un byte!)s
.s
se coacciona a un entero (0 o 1) y se agrega ah
.h
ahora es menor que 11 (es decir, si actualmente tenemos menos de 10 retenciones) y sis
fue cierto.g
5 veces.Mexico
al final de la cadena para terminar las cosas. ¡Uf!Alternativa
Y, simplemente porque pensé que habría sido una buena adición al desafío: por solo 12 bytes adicionales, podemos tener un patrón único de retenciones en cada panel, en lugar de que todos sean idénticos.
Intentalo
Nuevamente, los patrones de las bodegas cambiarán cada 2 segundos.
Mostrar fragmento de código
fuente
Pyth -
5857 bytes, posiblemente 47Intentalo
Explicación de la solución anterior (actualizaré cuando tenga tiempo):
Creo que puedo obtener 47 mientras sigo técnicamente las reglas:
Aquí, el número de agujeros todavía se elige al azar (del conjunto {4,8}) y la configuración de esos agujeros se elige al azar (del conjunto de configuraciones donde cada fila es idéntica)
Intentalo
fuente
Mathematica, 201 bytes
fuente
Powershell (255 bytes)
fuente
Python 2 ,
259224221218 bytesPruébalo en repl.it
-35 incluyendo algunas pistas de @ Satan'sSon - ¡gracias!
-3 con gracias a @Wondercricket
fuente
t
lugar de guardarlo en una variable y si elimina los espacios despuésAmerica!
yMexico
?print" America!" <NEWLINE> d,a,b,c=[" Mexico"],["+"+"-"*10+"+"],[" "]*40,0
?from random import*
y eliminandor.
de las funcionesPython 2, 197 bytes
fuente