Emojicode, 292 bytes (140 characters)
🏁🍇🔤Baby🔤➡️b🔤Daddy🔤➡️y🔤Mommy🔤➡️o🔤Grandpa🔤➡️g🔤Grandma🔤➡️a🔤 Shark🔤➡️s🔤 doo🔤➡️d🍨b y o g a🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m s d d d d d d🍪️❗️🍉😀🍪m s🔤!🔤🍪❗️🍉🍉
Run it
Expanded out:
🏁🍇
🔤Baby🔤 ➡️ b
🔤Daddy🔤 ➡️ y
🔤Mommy🔤 ➡️ o
🔤Grandpa🔤 ➡️ g
🔤Grandma🔤 ➡️ a
🔤 Shark🔤 ➡️ s
🔤 doo🔤 ➡️ d
🍨b y o g a🍆➡️f
🔂m f🍇
🔂i🆕⏩⏩0 3❗️🍇
😀🍪m s d d d d d d🍪️❗️
🍉
😀🍪m s🔤!🔤🍪❗️
🍉
🍉
Explained (per the Emojicode doc):
🍇🍉
The same as a {
and }
(e.g. a code block)
🏁
The "program start" (e.g. int main()
)
🔤Baby🔤 ➡️ b
Variable assignment (e.g. const char* b = "Baby";
)
🍨b y o g a🍆➡️f
Says, create a list of values between 🍨 and 🍆 and assign (➡️) to f
(e.g. const char* f[] = {b,y,o,g,a};
)
🔂m f🍇 ... 🍉
This line says to loop over the elements in f
using the alias m
, where the ...
is the code between 🍇 and 🍉.
🔂 i 🆕⏩⏩ 0 3❗️🍇 ... 🍉
This line says to loop over the range [0,3), where the ...
is the code between 🍇 and 🍉.
😀🍪 ... 🍪️❗️
This line says to print the format specified in ...
(e.g. printf("%s\n");
)
The code translated to C:
#include <stdio.h>
int main() {
const char* b = "Baby";
const char* y = "Daddy";
const char* o = "Mommy";
const char* g = "Grandpa";
const char* a = "Grandma";
const char* s = " Shark";
const char* d = " doo";
const char* f[] = {b,y,o,g,a};
int m = 0, i = 0;
for (; m < 5; ++m) {
for (i = 0; i < 3; ++i) {
printf("%s%s%s%s%s%s%s%s\n", f[m], s, d, d, d, d, d, d);
}
printf("%s%s!\n", f[m], s);
}
return 0;
}
Following this, the original code (posted below for posterity) had some issues; mostly that the 🏁🍇🍉 block was not included for those who wish to run it, and the emoji's were not actually properly escaped, to that, here is the actual running version of that code:
Original modified to run: Emojicode, 224 bytes (67 characters)
🏁🍇🍨🔤👶🔤🔤👨🔤🔤🤱🔤🔤👴🔤🔤👵🔤🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️🍉😀🍪m🔤🦈!🔤🍪❗️🍉🍉
Expanded out:
🏁🍇
🍨
🔤👶🔤
🔤👨🔤
🔤🤱🔤
🔤👴🔤
🔤👵🔤
🍆 ➡️ f
🔂 m f 🍇
🔂 i 🆕⏩⏩ 0 3❗️🍇
😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️
🍉
😀🍪m🔤🦈!🔤🍪❗️
🍉
🍉
Which produces the output:
👶🦈💩💩💩💩💩💩
👶🦈💩💩💩💩💩💩
👶🦈💩💩💩💩💩💩
👶🦈!
👨🦈💩💩💩💩💩💩
👨🦈💩💩💩💩💩💩
👨🦈💩💩💩💩💩💩
👨🦈!
🤱🦈💩💩💩💩💩💩
🤱🦈💩💩💩💩💩💩
🤱🦈💩💩💩💩💩💩
🤱🦈!
👴🦈💩💩💩💩💩💩
👴🦈💩💩💩💩💩💩
👴🦈💩💩💩💩💩💩
👴🦈!
👵🦈💩💩💩💩💩💩
👵🦈💩💩💩💩💩💩
👵🦈💩💩💩💩💩💩
👵🦈!
Run it
Where in you have the individual emoji's representing the words:
👶 -> Baby
👨 -> Daddy
🤱 -> Mommy
👴 -> Grandpa
👵 -> Grandma
🦈 -> Shark
💩 -> doo
Original: Emojicode, 138 bytes (47 characters)
🍨👶👨🤱👴👵🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀m🦈💩💩💩💩💩💩❗️🍉😀m🦈!❗️🍉
Expanded out:
🍨👶👨🤱👴👵🍆➡️f
🔂m f🍇
🔂 i 🆕⏩⏩ 0 3❗️🍇
😀 m 🦈💩💩💩💩💩💩❗️
🍉
😀 m 🦈!❗️
🍉