#include <stdio.h>
#include <math.h>
#include <unistd.h>
int c,p,i,j,n,F=40,k,m;
float a,x,y,S=0,V=0;
void main()
{
for(;F--;usleep(50000),F?puts("x1b[25A"):0)
{
for(S+=V+=(1-S)/10-V/4,j=0;j<72;j+=3,putchar(10))
{
for(i=0;x=S*(i-27),i++<73;putchar(c[" ''".$u$"]))
{
for(c=0,n=3;n--;)
{
for(y=S*(j+n-36),k=0,c^=(136*x*x+84*y*y<92033)<<n,p=6,m=0;m<8;
k++["<[]O=IKNAL;KNRbF8EbGEROQ@BSX""XtG!#t3!^"]/1.16-68>x*cos(a)+y*sin(a)?k=p,p="<AFJPTX"[m++]-50:k==p?c^=1<<n,m=8:0)
{
a=(k["O:85!fI,wfO8!yZfO8!f*hXK3&fO;:O;#hP;"i[by asloane"]-79)/14.64;
}
}
}
}
}
return;
}
运行后,你将会看到:
它是一个 20fps、抗锯齿的 Yahoo! logo ASCII 动画。如果你想自己弄清楚它是如何工作的,那么可以忽略下面的内容。否则,请往下读。