Emojicode,292个字节(140个字符)
🏁🍇🔤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🔤!🔤🍪❗️🍉🍉
运行
展开:
🏁🍇
🔤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🔤!🔤🍪❗️
🍉
🍉
解释(根据Emojicode文档):
🍇🍉
与{
和和}
(例如,代码块)相同
🏁
“程序启动”(例如int main()
)
🔤Baby🔤 ➡️ b
变量分配(例如const char* b = "Baby";
)
🍨b y o g a🍆➡️f
说,创建一个介于🍨和between之间的值的列表,并将(➡️)分配给f
(例如const char* f[] = {b,y,o,g,a};
)
🔂m f🍇 ... 🍉
这行代码表示f
使用别名循环元素m
,其中...
is和🍉之间的代码。
🔂 i 🆕⏩⏩ 0 3❗️🍇 ... 🍉
这行代码表示要在[0,3)范围内循环,其中...
is和between之间的代码。
😀🍪 ... 🍪️❗️
这行说要打印中指定的格式...
(例如printf("%s\n");
)
将代码转换为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;
}
此后,原始代码(以下为后代而发布)出现了一些问题;大多数情况下,想要运行它的人不包含🏁🍇🍉块,并且表情符号实际上并未正确转义,因此,这是该代码的实际运行版本:
原始修改为运行:Emojicode,224个字节(67个字符)
🏁🍇🍨🔤👶🔤🔤👨🔤🔤🤱🔤🔤👴🔤🔤👵🔤🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️🍉😀🍪m🔤🦈!🔤🍪❗️🍉🍉
展开:
🏁🍇
🍨
🔤👶🔤
🔤👨🔤
🔤🤱🔤
🔤👴🔤
🔤👵🔤
🍆 ➡️ f
🔂 m f 🍇
🔂 i 🆕⏩⏩ 0 3❗️🍇
😀🍪m🔤🦈💩💩💩💩💩💩🔤🍪️❗️
🍉
😀🍪m🔤🦈!🔤🍪❗️
🍉
🍉
产生输出:
👶🦈💩💩💩💩💩💩
👶🦈💩💩💩💩💩💩
👶🦈💩💩💩💩💩💩
👶🦈!
👨🦈💩💩💩💩💩💩
👨🦈💩💩💩💩💩💩
👨🦈💩💩💩💩💩💩
👨🦈!
🤱🦈💩💩💩💩💩💩
🤱🦈💩💩💩💩💩💩
🤱🦈💩💩💩💩💩💩
🤱🦈!
👴🦈💩💩💩💩💩💩
👴🦈💩💩💩💩💩💩
👴🦈💩💩💩💩💩💩
👴🦈!
👵🦈💩💩💩💩💩💩
👵🦈💩💩💩💩💩💩
👵🦈💩💩💩💩💩💩
👵🦈!
运行
您在其中的各个表情符号代表以下单词:
👶 -> Baby
👨 -> Daddy
🤱 -> Mommy
👴 -> Grandpa
👵 -> Grandma
🦈 -> Shark
💩 -> doo
原始:Emojicode,138个字节(47个字符)
🍨👶👨🤱👴👵🍆➡️f🔂m f🍇🔂i🆕⏩⏩0 3❗️🍇😀m🦈💩💩💩💩💩💩❗️🍉😀m🦈!❗️🍉
展开:
🍨👶👨🤱👴👵🍆➡️f
🔂m f🍇
🔂 i 🆕⏩⏩ 0 3❗️🍇
😀 m 🦈💩💩💩💩💩💩❗️
🍉
😀 m 🦈!❗️
🍉