I'm starting to provide Chinese / English versions of some posts, switch with the Language menu above. 我开始提供部分文章的中文、英文翻译,请使用顶部语言菜单切换。

Bad Apple NG 修正增强版本

这次更新修正了几个错误。1. 帧率统计功能实际上是错误的(我脑抽写出的代码),全片过程中帧率一般维持在 20FPS 不变。现已将 FPS 统计改成处理延时。(PS:对于处理延时,程序自动调节)2. 有 TX 反馈说 64 位 OS 下运行不正常,八成是 int64 的问题,现在已经全部改成 longint,问题应该解决。3. 加了个统计功能(把第三行 stat=true 改成 stat=false 可以关掉)。数据文件下载:/usr/uploads/2013/03/badapple.7z源码:(自己用 FPC 2.6 编译)uses crt,dos;const stat=true; inx=79; iny=24; yanchi=50; yanchitj=800;type pic=array[1..inx,1..iny]of char;var fin:text; i,j,diff:longint; ct,dt,dtt,pt:longint; s:string; a,b:pic;// 来自 WotorDho <http://user.qzone.qq.com/1320719107> 的时间校准代码(有修改)function currtime:longint; var a,b,c,d:word; begin gettime(a,b,c,d)...

Bad Apple NG:增强版 Bad Apple 播放系统

UPDATE:如果碰到打不开、运行错误 2 什么的问题,请在 Bad Apple 命令行动画版看说明下数据文件!!!上次我的 Bad Apple 命令行动画版成功被同学 WotorDho 转载,并且进行了增强,主要是判断延时,以便控制系统卡的时候 FPS 保持基本不变。可惜他用的是他编写文澜杀时使用的自建 Unit XCrt,冗余代码多不说,还不好懂。我研究了一下 XCrt,搞懂他的原理,并且对自己的播放器进行修改,达到了一样的效果。(理论上还会快一点)同时,由于之前 Telnet 传输时采取整幅整幅画面传输,浪费了大量流量,我也进行了优化,也就是判断每个像素点是否相同,如果不同就只改像素点,可以有效减小传输带宽。我称之 Bad Apple NG(NG 为 Next Generation,下一代)。VPS 上的 Telnet 演示将稍后更新。上源代码:uses crt,dos;type pic=array[1..79,1..24]of char;var fin:text; i,j,diff:longint; ct,dt:int64; s:string; a,b:...

Bad Apple 命令行动画版

Bad Apple 是岛国东方幻想乡制作的一个动画,全动画采用类似皮影戏的方式,只有黑白,但是做到了 3D 画面,而且全部手绘!效果非常好,没有任何跳帧丢帧现象。因为它的黑白特性,大群人开始尝试将它移植到各种平台上,我见过的就有计算器、树莓派,还有人把它用 javascript 放了出来。我也写了一个 Pascal 程序用来放 Bad Apple,不过是全命令行的。编译好的程序我懒得放了,而且我用的是 Linux,Windows 用户下载了也没用,所以我把源代码放出来,你们自己用 FPC 编译吧。uses crt;var fin:text; i:longint; s:string;begin // 链接源文件并准备读取 assign(fin,'badapple.txt'); reset(fin); // 读入第一幅画面并输出版权 for i:=1 to 24 do begin readln(fin,s); writeln(s); end; write('Bad Apple ASCII Art by Lan Tian - https://lantian.pub'); delay(50); // 输出之后画面,...