-
// I found this on a forum, thought it was awesome, I take no credit for this code
-
#include <ncurses.h>
-
#include <inttypes.h>
-
#define GG(T,C) attrset(A_BOLD*!(T)|COLOR_PAIR(C%2+1));
-
#define AGG A&2?KEY_UP:KEY_DOWN:A&1?KEY_RIGHT:KEY_LEFT
-
#define AC(G) init_pair(G/2,G,nodelay(stdscr,G/3));
-
#define TCT(A,G,C) mvaddch(A+CTT*6+4,CGA*12+G,C)
-
#define ATG srand(time(0)); initscr(); cbreak(); \
-
noecho(); start_color(); keypad(stdscr,1);
-
#define CAT mvprintw(2,40,"%d",TC)
-
#define T(T) #T#T#T#T#T#T T
-
#define GAT int main()
-
#define AAA refresh()
-
#define G(G) while(G)
-
#define A(A) A { A }
-
#define TAG endwin()
-
#define TCA clock()
-
#define GCA clear()
-
#define CCC rand()
-
#define CC getch()
-
#define GA return
-
typedef uint32_t G;
-
typedef uint16_t CT;
-
G AA[1<<16]; G GT[1<<16],CAA,CA,CTG,TA,CG,CTT,CGA,TC,T,GTC;
-
char *ACG="HXXTP02^OCBHL\\XP``T^NDP800SQSW\\X@@@0c13RZLLH<WWWWWWWW\0\0.jW\0\0\0\0\0\0\0Wq.\0'9W\0\0\0\0\0\0\0WP'\0\0jb\0\0WW\0\0007F\0\0WWWWWWWWBjPWWbo^^WW^^9WWP^__WW__6,D:^HRioV;:VztZ"
-
-
,*GCC,
-
*AGT,GTT []=T(;
-
G AG; G TG; G AC; G C;
-
G A=0; G AAG; G TT; G
-
GG; G AT (CT A){ GA A
-
%4* 2>> A%4; } CT GC
-
(){ AC=!(AAG&(CA/=2)); CTG=15*CA*CA/4; G A
-
=TG; GA AC||(A&&AT(A/CA/CA)); } CT GTCA(G C,G
-
A,G CG ){ GG(C>=A,
-
C)G(!A )GA ( C&&
-
CC)*CG *TAG; CG
-
+=(C<A)<<(G)20; G(TCT(0,C%16*3-34, 302[C%16*2+GTT]
-
)); AAA; G(CG>( G)TCA); GA CG^ GTCA(C+3,A-1,CG); }
-
G CGAC( CT T,G
-
A,G C,G AA , G
-
AG){ GA(AA &&( CA
-
=4)&&(CGAC(1+T,1+A,C,--AA,AG)?CGAC(ACG[T],
-
AG,0,C,A):ACG[T]&&TCT(AG,A,ACG[T])),C);
-
} CT TGA(G A){ CT
-
T=1; CT C=- T; *AA=
-
A; *GT=3; G (++C^T){
-
G((TA=AA[C])/2&!(TT=(TG=
-
GT[ C]+16)&15))
-
GA TG>>4;
-
CA=4; AAG= TA>>2
-
*TT; A(GC( )?(AA[T]=
-
TA^1<<2*TT<<AT(AAG),GT[T++]
-
=TG^ CTG>> AC) :2; )} GA 0; } G
-
ACC(){ G T= 4; G A=
-
1; G C=1; TC=TGA
-
(GG=CCC); G((A*=
-
2)<C||(C<<=A=1)<T||(T*=C=2)){ G(TGA(AG=GG^T^C
-
^A)>TC) { G((TC=TGA (GG=AG))> CAA){ CAA=TC; CAT;
-
} G( TC >> 6 )
-
GA 1 ; C=1; T
-
= 2; } G(1+CC)
-
GA 1; } GA 0; } GAT{ AGT=GCC=GTT; G(( T=*++GCC))64-
-
(72&T)?1:(*AGT ^=T/4%2<<A%8, 7&(A+=5))?-1:(*++AGT=
-
CAA=C=0 ); ATG AC
-
(4 ); G (!ACC());
-
AC (2); G(C+1){ G(
-
!C){ C=TG=3; CG=1; TA=GG; TC=CAA; } GCA;
-
TT=TG; A(A(A(A(++TT; A=CG^=(TT&=15)&
-
3?1 :2; CTT= TT/4;
-
CGA=CTT %2*3^3^TT%4
-
;AAG=TA >>2*TT; A=CG^
-
AAG; GG (TT ^TG,
-
GTC=TT)CGAC
-
(GTC&&A&2 ?134
-
:138,TT& 0,6,6,A&1?0
-
:5); CGAC (128|A %2*3,
-
A&2?3:0,11,3,0); ))))CAT; G(TA/
-
2&!TG)GA GTCA(GCA,CAA/4&16,TCA); )
-
C = CC- 114; TT=0;
-
A(G(GC ()&&TC&&C+
-
114 == (CA&2?AGG)
-
){ --TC; A^=TG%2* (2-AT(A)); C=TCA; A(A(T=0; {
-
GG(1,TG); A(A(A(A(A(A(G C=TT/2^TG%2?2:1; TCT(T%6,
-
T% 11, 32+ 55*(
-
ACG[11 *AT(TT)
-
+22*AT( A)+ ((A
-
^2)&C?65-T:T)%11]>>((A|C)%4/3?T:65-T)%6&1)); T++;
-
)))))) TT++; AAA; } C+=1<<16; G(C>(G) TCA); ))
-
CG^=CA; TA ^=1
-
<<AT(AAG) <<TG *2;
-
TG^=CTG>> AC; } )}
-
GA TAG; }
一个有趣的gist
在github上偶然发现的一个有趣的gist,上传者为ashgt。编译运行一下吧,这代码还不怎么容易看懂的说。
