El propósito de este desafío es producir una versión ASCII de la portada de este gran álbum de la banda de rock Pink Floyd.
Las uniones de ladrillo están hechas de caracteres _
y |
. Los ladrillos tienen caracteres de ancho 7 y alto 2, excluyendo las uniones. Entonces, la unidad básica, incluidas las uniones, es:
_________
| |
| |
_________
Cada fila de ladrillos está compensada por medio ancho de ladrillo (4 caracteres) con respecto a la fila anterior:
________________________________________
| | | | |
| | | | |
________________________________________
| | | | |
| | | | |
________________________________________
| | | | |
| | | | |
El muro se parametriza de la siguiente manera. Todos los parámetros se miden en caracteres, incluidas las uniones:
- Desplazamiento horizontal de la primera fila,
F
. Esta es la distancia entre el margen izquierdo y la primera unión vertical de la fila superior. (Recuerde también el desplazamiento relativo de medio ladrillo entre filas). Sus valores posibles son0
,1
, ...,7
. - Total anchura ,
W
. Esto incluye cruces. Su valor es un entero positivo. - Total de altura ,
H
. Esto incluye cruces. Su valor es un entero positivo.
La parte superior de la pared siempre coincide con la parte superior de una fila. El fondo puede ser irregular (si la altura total no es un múltiplo de 3
). Por ejemplo, aquí está la salida para 6
, 44
, 11
:
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
| | | | | |
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
y una explicación visual de los parámetros:
F=6
......
. ____________________________________________
. | | | | |
. | | | | |
. ____________________________________________
. | | | | | |
H=11 . | | | | | |
. ____________________________________________
. | | | | |
. | | | | |
. ____________________________________________
. | | | | | |
............................................
W=44
Reglas adicionales
Puede proporcionar un programa o una función.
El formato de entrada es flexible como de costumbre. La salida puede ser a través de STDOUT o un argumento devuelto por una función. En este caso, puede ser una cadena con nuevas líneas o una serie de cadenas.
Se permiten espacios finales o líneas nuevas.
El código más corto en bytes gana.
Casos de prueba
Las entradas están en el orden indicado anteriormente, es decir: desplazamiento horizontal de la primera fila, ancho total, altura total.
6, 44, 11:
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
| | | | | |
____________________________________________
| | | | |
| | | | |
____________________________________________
| | | | | |
2, 20, 10:
____________________
| | |
| | |
____________________
| |
| |
____________________
| | |
| | |
____________________
1, 1, 1:
_
1, 2, 3:
__
|
|
3, 80, 21:
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |
________________________________________________________________________________
| | | | | | | | | |
| | | | | | | | | |