围观github上的“春节十二响”c语言程序

地球上的所有人,祝好运

Posted by 张振 on December 21, 2019

为什么要写这篇博客,因为我觉得这个实在是太沙雕太有趣了哈哈哈哈

春节十二响

看过《流浪地球》的都知道,里面李一一提到过一个程序名字叫做“春节十二响”

万万没想到,我竟然在github上真的发现有人搞了一个“春节十二响”,原作者是一位用户名为picasso250的github用户,我怀着十分好奇的心情打开了这位作者的项目。

整个代码为C语言所写,虽然只是一个函数框架,行数寥寥无几,但确实是很认真地做出来,并且作者给它的.c文件起了一个响当当的名字“twelve_biubiu”,author直接是Li Yiyi, 我翻了一下issues,里面一片的吃瓜群众,简直不要太欢乐。整个代码如下;

####指令

#env "planet_engine"

int init() {
set_engine_number_mask(ENGINE_ALL);
set_funeral_level(FUNERAL_FULL);
// 允许误差10秒以内
if (unix_time() < make_unix_time(2082, 1, 28, 23, 59, 60-10)) return ERR_ENGIN_ENV;
return engine_check_init(); // after compile and before real run
}
int main() {
set_curve(CURVE_NATURAL); // 自然曲线耗费燃料最少
for (int i = 0; i < 12; i++) {
engine_start();
wait_engine(ENGINE_STATE_CHANGE);
sleep(2000);
engine_stop();
wait_engine(ENGINE_STATE_CHANGE);
sleep(4000); // 这个时长在模拟器里听起来更像心跳
}
return 0;
}
int final() {
engine_ensure_shutdown();
}

# 随谈

文件包含一个main函数,一个init函数外加一个final函数,我发现整个春节十二响的思路还是挺有逻辑的(不是),出大问题,我为什么会在这对着一个电影虚构的程序托腮沉思。

至于像没有头文件什么的我们就不要较真了,而且有一位老哥在issues里说自己”gcc 编译未通过“,紧接着就是满屏的error,可能2019年的gcc版本还是达不到2076年的版本吧(手动狗头)。

看作者的意思启动程序应该是包含了发动机的数量和启动时间,主程序是12座行星发动机依次点火,并且包含了类似引擎冷却的状态切换(可能吧),终止程序即是关机程序。至于各函数里面真正的代码块,那估计写出来就不是寥寥几行了。这篇短短的代码在github里面已经收获超过300个stars,截至目前被85次fork,issues里面的一片热闹。像什么“撞针驱动程序去哪了?”“此时地球位置并不适合传统牛顿力学。。“各种沙雕问题层出不穷,更有老哥直接发问李一一为什么不支持C99编译??还有老哥道出了直指灵魂的问题“为什么是twelve biubiu而不是twelve boomboom”?????

总之,这短短的代码确实吸引来了许多慕名而来的吃瓜程序猿,春节十二响的代码都有了,离地球流浪还会远吗?(再次狗头)