一个有趣的gist

Ariesbear posted @ 2009年10月17日 00:18 in Programming with tags ncurses Git gist , 186 阅读

在github上偶然发现的一个有趣的gist,上传者为ashgt。编译运行一下吧,这代码还不怎么容易看懂的说。

 

  1. // I found this on a forum, thought it was awesome, I take no credit for this code
  2. #include <ncurses.h>
  3. #include <inttypes.h>
  4. #define GG(T,C) attrset(A_BOLD*!(T)|COLOR_PAIR(C%2+1));
  5. #define AGG A&2?KEY_UP:KEY_DOWN:A&1?KEY_RIGHT:KEY_LEFT
  6. #define AC(G) init_pair(G/2,G,nodelay(stdscr,G/3));
  7. #define TCT(A,G,C) mvaddch(A+CTT*6+4,CGA*12+G,C)
  8. #define ATG srand(time(0)); initscr(); cbreak(); \
  9.      noecho(); start_color(); keypad(stdscr,1);
  10. #define CAT mvprintw(2,40,"%d",TC)
  11. #define T(T) #T#T#T#T#T#T T
  12. #define GAT int main()
  13. #define AAA refresh()
  14. #define G(G) while(G)
  15. #define A(A) A { A }
  16. #define TAG endwin()
  17. #define TCA clock()
  18. #define GCA clear()
  19. #define CCC rand()
  20. #define CC getch()
  21. #define GA return
  22. typedef uint32_t G;
  23. typedef uint16_t CT;
  24. G AA[1<<16]; G GT[1<<16],CAA,CA,CTG,TA,CG,CTT,CGA,TC,T,GTC;
  25. 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"
  26.  
  27.                        ,*GCC,
  28.                  *AGT,GTT []=T(;
  29.         G AG; G           TG; G AC; G C;
  30.       G A=0; G                   AAG; G TT; G
  31.      GG; G AT                         (CT A){ GA A
  32.     %4* 2>>                               A%4; } CT GC
  33.    (){ AC=!(AAG&(CA/=2)); CTG=15*CA*CA/4; G A
  34.   =TG; GA AC||(A&&AT(A/CA/CA)); } CT GTCA(G C,G
  35.   A,G CG                                               ){ GG(C>=A,
  36.   C)G(!A                                                      )GA ( C&&
  37.   CC)*CG                                                           *TAG; CG
  38.    +=(C<A)<<(G)20; G(TCT(0,C%16*3-34, 302[C%16*2+GTT]   
  39.     )); AAA; G(CG>( G)TCA); GA CG^ GTCA(C+3,A-1,CG); }
  40.      G CGAC(                                                          CT T,G
  41.        A,G C,G                                                         AA , G 
  42.         AG){ GA(AA                                                &&( CA
  43.            =4)&&(CGAC(1+T,1+A,C,--AA,AG)?CGAC(ACG[T], 
  44.              AG,0,C,A):ACG[T]&&TCT(AG,A,ACG[T])),C);   
  45.                 } CT TGA(G                              A){ CT
  46.                   T=1; CT C=-                     T; *AA=
  47.                      A; *GT=3; G             (++C^T){
  48.                         G((TA=AA[C])/2&!(TT=(TG=
  49.                            GT[    C]+16)&15))
  50.                                GA TG>>4;
  51.                             CA=4; AAG= TA>>2         
  52.                          *TT; A(GC(   )?(AA[T]=
  53.                       TA^1<<2*TT<<AT(AAG),GT[T++]
  54.                    =TG^ CTG>> AC) :2; )} GA 0; } G
  55.                 ACC(){ G T=                       4; G A=
  56.              1; G C=1;                                 TC=TGA
  57.            (GG=CCC);                                          G((A*=
  58.          2)<C||(C<<=A=1)<T||(T*=C=2)){ G(TGA(AG=GG^T^C
  59.        ^A)>TC) { G((TC=TGA (GG=AG))> CAA){ CAA=TC; CAT;
  60.       } G( TC                                                         >> 6 ) 
  61.      GA 1 ;                                                          C=1; T
  62.     = 2; }                                                           G(1+CC)
  63.    GA 1; } GA 0; } GAT{ AGT=GCC=GTT; G(( T=*++GCC))64-
  64.   (72&T)?1:(*AGT ^=T/4%2<<A%8, 7&(A+=5))?-1:(*++AGT=
  65.   CAA=C=0                                                       ); ATG AC
  66.   (4 ); G                                                          (!ACC());
  67.    AC (2);                                                G(C+1){ G(
  68.    !C){ C=TG=3; CG=1; TA=GG; TC=CAA; } GCA;
  69.     TT=TG; A(A(A(A(++TT; A=CG^=(TT&=15)&
  70.      3?1 :2;                              CTT= TT/4;
  71.        CGA=CTT            %2*3^3^TT%4
  72.          ;AAG=TA    >>2*TT; A=CG^
  73.             AAG;  GG (TT ^TG,
  74.               GTC=TT)CGAC
  75.            (GTC&&A&2    ?134
  76.          :138,TT&   0,6,6,A&1?0
  77.        :5); CGAC       (128|A %2*3,
  78.       A&2?3:0,11,3,0); ))))CAT; G(TA/
  79.      2&!TG)GA GTCA(GCA,CAA/4&16,TCA); )
  80.     C = CC-                                114; TT=0;
  81.    A(G(GC                                   ()&&TC&&C+
  82.   114 ==                                       (CA&2?AGG)
  83.   ){ --TC; A^=TG%2* (2-AT(A)); C=TCA; A(A(T=0; {
  84.   GG(1,TG); A(A(A(A(A(A(G C=TT/2^TG%2?2:1; TCT(T%6,
  85.    T% 11,                                                        32+ 55*(
  86.    ACG[11                                                          *AT(TT)
  87.     +22*AT(                                                          A)+ ((A
  88.      ^2)&C?65-T:T)%11]>>((A|C)%4/3?T:65-T)%6&1)); T++;
  89.         )))))) TT++; AAA; } C+=1<<16; G(C>(G) TCA); ))
  90.           CG^=CA;                                      TA ^=1
  91.            <<AT(AAG)                             <<TG *2;
  92.              TG^=CTG>>                       AC; } )}
  93.                 GA TAG;                    }

 

 


登录 *


loading captcha image...
(输入验证码)