Comments on Gamer Meme Creator
Parent
Gamer Meme Creator
Challenge
You will be given a string and an ascii art as input.
- The string must be placed above the ascii art, and centered based on its longest line.
- The text
BOTTOM TEXT
must be placed below the art and centered based on the ascii art's longest line.
The centering can be biased toward the left or right by 1 character if given text cannot be centered exactly.
Examples
Text: Hello, World!
Art(source:https://www.asciiart.eu/animals/camels):
_
.--' |
/___^ | .--.
) | / \
/ | /` '.
| '-' / \
\ | |\
\ / \ /\|
\ /'----`\ /
||| \\ |
((| ((|
||| |||
jgs //_( //_(
Output:
Hello, World!
_
.--' |
/___^ | .--.
) | / \
/ | /` '.
| '-' / \
\ | |\
\ / \ /\|
\ /'----`\ /
||| \\ |
((| ((|
||| |||
jgs //_( //_(
BOTTOM TEXT
More info
- You may have trailing and leading whitespace on each line as long as the art is properly centered.
- ascii art can be taken as array of string, character arrays, so on.
- art will always be in ascii/extended ascii.
- given string will not exceed the width of ascii art, and ascii art will always have width ≥ 11.
[Ruby], 67 65 bytes -2 from …
3y ago
Japt, 19 bytes Takes the ar …
3y ago
Scala, 98 83 bytes Saved 15 …
3y ago
[Haskell], 116 bytes …
3y ago
Post
Scala, 98 83 bytes
Saved 15 bytes thanks to Shaggy!
a=>t=>{val w=a.map(_.size).max
(" "*(w-t.size>>1)+t)+:a:+" "*(w/2-5)+"BOTTOM TEXT"}
a
is the ASCII art, t
is the string on top. w
is the size of the longest line in the art, used for centering. A line x
can be centered using " "*((w-x.size)/2)+x
(no padding on the right side). We do that for both t
and BOTTOM TEXT
, then join on newlines.
1 comment thread