Olvidé el día de la toalla
Script PHP para ambos ejemplos (error, formateando la cadena)
Se corrigió el script php, la entrada se explica por sí misma
Script PHP con más comentarios de entrada / comentarios $argv
para ver resultados diferentes
Como sabrán, el 25 de mayo es conocido como el Día de las Toallas , debido a los muchos usos que puede tener una toalla.
Un extracto simple del libro "La Guía del autoestopista galáctico" (personalmente tomé este libro como una "guía diaria" ) dice:
"Una toalla es lo más útil que un autoestopista interestelar puede tener. En parte, tiene un gran valor práctico".
Si necesita más información sobre toallas, consulte esta respuesta SE.scifi
El reto
Esperemos que hagas esto con una toalla usada como una manta para tus piernas.
Escriba un programa o función completa en cualquier lenguaje de programación válido que tenga dos entradas
size Integer : #The size
message string : #A sentence
¿Cómo dibujar una toalla con estos valores?
Primero usandosize
:
Dibuje una toalla dependiendo del tamaño de entrada, arte ascii para nuestra toalla
width = 12*size
#the line that has the "bar" its always present with different sizes
Width is defined as:
from the first | to the second | has to be equal to size*12 including both ||
<- width->
[===| |====]
| 12 chars || 1 height starts here, just after the "bar"
| SIZE = 1 || 2
| || 3 height = 5*size
| || 4
| || 5 height ends here just before the first line |=======|
|==========|| # the lines with the #
|==========|| # are always fixed
""""""""""""| # it means, every towel
| | # always has this 5 rows
"""""""""""" # no matter the size
Segundo, dale el message
Tienes que darle un mensaje, ¿qué es una toalla sin un hermoso mensaje cosido en hilo dorado?
Ejemplo 1
input: size=1, message="a simple message can stay with size"
width = 12*size
#the line that has the "bar" it's always present with different sizes
#no words allowed at the bar level
[===| |====]
| a simple || 1 height starts here, just after the "bar"
| message || 2
| can stay || 3 height = 5*size
| with size|| 4
| || 5 height ends here just before the first line |=======|
|==========|| # the lines with the #
|==========|| # are always fixed
""""""""""""| # it means, every towel
| | # always has this 5 rows
"""""""""""" # no matter the size
Ejemplo 2
input size=2
message="Don't Panic and bring a towel to SE Programming Puzzles and CodeGolf"
The size is 2
That means 24 width and 10 heigth
<- 24 chars width ->
[===| |====]
| Don't Panic and bring|| 1
| a towel to SE || 2
| Programming Puzzles || 3
| and CodeGolf || 4
| || 5
| || 6
| || 7
| || 8
| || 9
| || 10
|======================|| # The lines with the "#"
|======================|| # always present and
""""""""""""""""""""""""| # adapted to
| | # the towel width
"""""""""""""""""""""""" #
Criterios de respuesta aceptados
- Este es codegolf, por lo que se aplican reglas normales.
Reglas
Usted está garantizado de que todas las cadenas de entrada se ajustarán al tamaño, por lo que no hay entrada como
size=1; message="This string is just tooooooooooooooooooooo long to fit the width and height of your towel"
.El formato de cadena depende de usted, por ejemplo, si desea centrar las subcadenas.
Los saltos de palabras no están permitidos.
Ediciones
Realmente lamento cualquier confusión, porque las toallas ansii que dibujé no coincidían con los parámetros, agregaron un script PHP para ambos ejemplos para que verifiquen los resultados esperados.
También gracias a todas las personas que votaron y consideraron mi primer desafío: D.
current line + next word
exceda el límite permitido para su toalla @Jakob, según lo decida el script php que publiqué.