Ich habe den Handtuchtag vergessen
PHP-Skript für beide Beispiele (Fehler, Formatierung des Strings)
Korrigiertes PHP-Skript, die Eingabe ist selbsterklärend
PHP-Skript mit mehr Kommentaren / Kommentaren $argv
, um unterschiedliche Ergebnisse zu sehen
Wie Sie vielleicht wissen, ist der 25. Mai wegen der vielen Verwendungsmöglichkeiten, die ein Handtuch haben kann, als Handtuch-Tag bekannt .
Ein einfacher Auszug aus dem Buch "Per Anhalter durch die Galaxis" (ich persönlich habe dieses Buch als "Alltagsführer" angesehen ) besagt:
"Ein Handtuch ist ungefähr das Nützlichste, was ein interstellarer Anhalter haben kann. Zum Teil hat es einen großen praktischen Wert."
Wenn Sie weitere Informationen zu Handtüchern benötigen, klicken Sie auf diese Antwort
Die Herausforderung
Hoffentlich tun Sie dies mit einem Handtuch, das als Decke für Ihre Beine dient.
Schreiben Sie ein vollständiges Programm oder eine Funktion in einer gültigen Programmiersprache, die zwei Eingaben akzeptiert
size Integer : #The size
message string : #A sentence
Wie zeichnet man ein Handtuch mit diesen Werten?
Erste Verwendungsize
:
Zeichnen Sie ein Handtuch in Abhängigkeit von der Größe Eingang, ascii-art für unser Handtuch
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
Zweitens geben Sie es die message
Sie müssen es eine Nachricht geben, was ist ein Handtuch ohne eine schöne Nachricht in goldenen Faden genäht?
Beispiel 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
Beispiel 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
"""""""""""""""""""""""" #
Akzeptierte Antwortkriterien
- Dies ist Codegolf, daher gelten die normalen Regeln.
Regeln
Sie werden garantiert, dass alle Eingabezeichenfolgen der Größe entsprechen, also keine Eingabe wie
size=1; message="This string is just tooooooooooooooooooooo long to fit the width and height of your towel"
.Das Format der Zeichenfolge liegt bei Ihnen, wenn Sie beispielsweise die Teilzeichenfolgen zentrieren möchten.
Wortumbrüche sind nicht erlaubt.
Bearbeitungen
Es tut mir wirklich leid, dass ich etwas verwirrt habe, da die von mir gezeichneten Ansii-Handtücher nicht mit den Parametern übereinstimmten. Für beide Beispiele wurde ein PHP-Skript hinzugefügt, mit dem Sie die erwarteten Ausgaben überprüfen können.
Vielen Dank auch an alle, die für meine erste Herausforderung gestimmt haben: D.
current line + next word
zulässige Grenzwert für Ihr Handtuch @Jakob überschritten wird, da das von mir bereitgestellte PHP-Skript darüber entscheidet.Antworten:
Python 2 ,
223210209204 BytesProbieren Sie es online!
quelle
JavaScript (Node.js) , 375 Byte
Dies ist die schlechteste Einsendung, die Sie erhalten, aber zumindest habe ich versucht, xD die Hälfte der Bytes sind Leerzeichen
Probieren Sie es online!
quelle
JavaScript (Node.js) ,
347 345 343 337 334 328326 ByteProbieren Sie es online!
Erklärung:
quelle
Kohle , 79 Bytes
Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:
Berechnen Sie die Größe des Handtuchs.
Zeichne das Handtuch.
Schleife über jedes Wort der Nachricht.
Drucken Sie jedes Wort aus, ohne die Breite zu überschreiten.
quelle
V ,
142,128,121, 119 BytesProbieren Sie es online!
quelle
this
du sparenn Bytes
" ... aber ich kann nicht ... noch: D.