程序员的成长之路

互联网/程序员/技术/资料共享

关注

阅读本文大概需要 2.8 分钟。

作者:鱼羊 白交

来自:量子位(ID:QbitAI)

有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?!

它是这样的:

不是简单的灰度字符画!也不是控制台控制颜色!而是在唱、跳、rap的代码!

连肩带,都是有灵魂的。

这样的作品,来自B站UP主NyeJu。他利用代码编辑器为不同关键词显示不同的颜色的原理,生成代码,然后滑动形成视频。

这项技术的关键在于:

在正确的位置上放上符合规范的代码,显示不同的颜色。

也就是说,整个操作纯人工打造!

并且,这份代码是可以编译通过的,0 error:

一经发出,网友纷纷表示:希望编译器没事。

还有盆友说:希望肝没事。

12万行代码你太美

当然也有盆友发出了这样的惊叹:纯手敲?!UP太强了!

不过UP主虽是真·肝帝无疑,但还没有魔鬼到这个地步。

UP主也简单介绍了一下自己的操作思路。

首先,选择一个配色主题,比如UP主用的是Code Blue,并且需要获取每一种关键词的颜色。

然后,把原视频切分成一堆图片,识别每张图片的像素,匹配到最相近的关键词颜色上,记录下(颜色,长度)。

根据(颜色,长度)生成对应的代码。这涉及到两个步骤:

  • 定义一系列的pattern,比如「粉、红、白」就是声明,「灰、透明」就是注释;

  • 用pattern去匹配(颜色,长度),匹配成功就进行转换。

而UP主的这个视频能做到如此流畅,是因为他为原视频的每一帧都生成了代码。

最后,让这12万行代码滑动起来,开头那般的唱、跳、rap视频就制作成功了。

即便如此,B站现场的小伙伴们还是嗅到了爆肝的气息,比如评论区就有5级号提供了一个清新的思路:没用专业团队当素材,可能是因为UP肝了一整年。

于是,带着小伙伴们的好奇采访了一下UP主NyeJu本人。

NyeJu表示,整个项目的完成其实只用了大概一周多的时间,毕竟12万行代码不是手敲,而是生成的。

为蔡徐坤的素材比较干净,颜色数量也比较适中。

其他的素材都不是很合适,比如像「黑人抬棺」颜色就有点多,「bad apple」的话又太少。(本人对蔡徐坤没有任何恶意。)

评论区也有盆友补充解释了一下其中的难点:可以编译通过我惊了。

评论区也有盆友补充解释了一下其中的难点:可以编译通过我惊了。

对此,NyeJu说,其实项目一开始的底线就是能够编译通过,否则的话,VS Code的代码高亮会抽风。原理还是基于语法规则,比如const和static可以无限叠加,标识符和字符串可以任意长,根据这些去构造想要的颜色的长度。

One More Thing

所以,为什么会开这样一个脑洞?

在采访中,NyeJu也给出了答案:

是受「何同学」最新一个视频——《我用一万行备忘录做了个动画…》的启发,想做一个更厉害一点的。

另外,虽然展示给大家的代码是C++,NyeJu本人其实在日常的coding中用Python多一点,这个项目的C++代码也是用Python生成的。

最后,奉上完整视频~

<END>

推荐阅读:

哈哈,代码比较工具,好像就这5款比较顺手

为什么不建议把数据库部署在 Docker 容器内?

5T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,单片机,树莓派,等等。在公众号内回复「2048」,即可免费获取!!

微信扫描二维码,关注我的公众号

写留言

朕已阅 

有点厉害!用12万行代码堆出来个蔡徐坤,编译还能通过!相关推荐

  1. 厉害了!用12万行代码堆出来个蔡徐坤,编译还能通过!

    点击"开发者技术前线",选择"星标????" 在看|星标|留言,  真爱 作者丨鱼羊 白交 来源丨量子位(ID:QbitAI) 有个程序猿,用12万行代码堆出来 ...

  2. 有点厉害!用12万行代码堆出来个蔡徐坤,关键是能跑能跳!

    热文推荐: 尘埃落定!清华才子王垠加入华为职级22,前阿里P10赵海平加入字节跳动,职级或为4+ 百度网盘"破解版",Pandownload开发者被抓 作者:鱼羊 白交 来自:量子 ...

  3. 牛逼!用 12 万行代码堆出来个 蔡徐坤,编译还能通过!

    公众号关注 "视学算法" 设为 "星标",DLCV消息即可送达! 转自量子位 有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?! 不是简单的灰度字符 ...

  4. 程序猿小哥用12万行代码堆出来个「蔡徐坤」!编译竟然还能通过

    点击上方"Github中文社区",关注 看遍Github好玩的项目 量子位 大家好,我是hub哥! 有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?! 它是这样的: 不 ...

  5. 哈哈!12万行代码堆出来个「蔡徐坤」

    鱼羊 白交 发自 凹非寺 量子位 报道 | 公众号 QbitAI 有个程序猿,用12万行代码堆出来个「蔡徐坤」,编译还能通过?! 它是这样的: 不是简单的灰度字符画!也不是控制台控制颜色!而是在唱.跳 ...

  6. ikun请进|爱心代码表白蔡徐坤来了

    实现效果如下 话不多说,直接代码全给,以下: <!DOCTYPE html> <html><head><title></title>< ...

  7. 用Python让蔡徐坤在我的命令行里打篮球!|附完整代码

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 来源 | 01二进制(ID:gh_d1999add1857) 编辑 | Jane [导语]作者自称是一个 ...

  8. 用Python让蔡徐坤在我的命令行里打篮球!| 附完整代码

    作者自称是一个经常逛 B 站的肥宅.最近B站上流行的视频素材除了"换脸",其次就要属"蔡xx打球"视频了.有模仿的.对比的.手绘的... ...更过分的是,竟然 ...

  9. python篮球-用Python让蔡徐坤在我的命令行里打篮球!|附完整代码

    点击上方↑↑↑蓝字关注我们~ 「2019 Python开发者日」全日程揭晓,请扫码咨询 ↑↑↑ 来源 | 01二进制(ID:gh_d1999add1857) 编辑 | Jane [导语]作者自称是一个 ...

最新文章

  1. linux服务器每秒并发处理数的计算方法
  2. openTLD算法在opencv3的PatchGenerator
  3. sublime text 3 快捷键大全以及配置编译环境
  4. 第二章 Python数据类型详解
  5. 机器学习知识总结系列- 模型评估(1-2)
  6. 飞鸽传书2013年开发计划
  7. 【转】用MYSQL都可能会遇到的问题:MYSQL字符数字转换
  8. 网络安装centos5.4
  9. 【论文解读】图文并茂带你细致了解ELMo的各种细节
  10. 飞控硬件在环之GPS模拟器
  11. 关于老黄的DW2XLS一些小bug
  12. python大数据方向_大数据行业5个职位方向指南
  13. maya2020卸载不干净安装不了_Maya2020安装失败怎么办?2018却可以安装?
  14. SovitChart工具1分钟快速开发前端统计图表
  15. 【NLP】《Chinese Poetry Generation with Planning based Neural Network》的阅读笔记
  16. CSS基础常识问答(一)
  17. Hadoop纠删码(Erasure Coding)简介
  18. 风控ML[15] | 风控模型报告以及上线后需要监控的内容
  19. windows保护无法启动修复服务器,win10系统使用“sfc /scannow”修复系统提示Windows资源保护无法启动修复服务怎么办...
  20. 泉州信息工程学院 计算机考试,泉州信息工程学院教务网络管理系统成绩查询、网上选课查分登录入口...

热门文章

  1. oracle在表上创建分区,Oracle分区表 (Partition Table) 的创建及管理
  2. 推荐Java程序员阅读的书籍
  3. can sdo 报文
  4. 岛屿数量JAVA_LeetCode刷题 463. Island Perimeter 岛屿的周长 Java
  5. Java基础学习(11)---Java注解和反射
  6. 【SIM卡】Sim 卡掉卡
  7. JAVA安卓4.4.4_Android源码4.4.4_r1下载和编译
  8. python基础经典问题-判断身份证号码是否有效
  9. 清华大学教授AI领域创业,能否打破中美印三足鼎立僵局?
  10. Android和DLT日志系统