PageRenderTime 47ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/2011/toledo/toledo.c

https://bitbucket.org/c00kiemon5ter/ioccc-obfuscated-c-contest
C | 64 lines | 64 code | 0 blank | 0 comment | 3 complexity | f0cab2dd4d71fddd68cde0c5363b439b MD5 | raw file
  1. #include <X11/Xlib.h>
  2. #include <X11/keysym.h>
  3. #define I XDrawLine(W,X,Y,
  4. #define l rand()%
  5. #define R while(
  6. #define n *h++
  7. #define x _ c].
  8. #define S if(
  9. #define _ _[
  10. *h ;
  11. M=512; i; N=
  12. 288; e; d; u; p; L[1
  13. <<28]; float w=11.46; m; a ;
  14. P; k[9304]; *j=k; c; f; q; r; t; v ;
  15. * z; K(N,i) { t=u*+cos(N/w)-i*sin(N/w); p=i*
  16. cos(N/w)+u*sin(N/w); u=t; } Display*W; GC Y; Pixmap
  17. X; s(o,t,g,w,v) { h=v+k; q=2*n; R u=n, r=12+n, K(t,n), K(o,+
  18. p+w,u+=g), d=1>p?1:p, u=u*N/d+M/2, d=N/2+r*N/d, u=u>
  19. -M*2 ?u<M*2?u:2*M:-2*M, 1&q?i>0|p>0?I f,e,u,d):0: (i=p
  20. ,e=d,f=u ), --q); } struct{ int c,o,m,f,u,s,i ,e,r; }
  21. _ 21 ] ; Window O; b(y) { XGCValues g ; g .
  22. foreground=y; g. line_width = 2 ; XChangeGC(W,Y,20
  23. ,&g); } G(o) { z=x f + k; h=(x f= 381+193*c)+k; i=2*(n
  24. =*z++); R--i&1?d=l 9-4,e =l 9 -4*(8>o):0,n=*z+++d,0<(n
  25. =*z+++e)?h[-1]=0:0,n=*z+++d, i); } g(o) { u=0; K(x s,o<<9
  26. ); x u-=u; x r-=p; } F(m,c ) { f=5120*c; c=12; R +c--&&m
  27. ==+c |abs(x u-_ m].u)>f |x i <1|x c>2 |abs(x r-_ m].r)>f)
  28. ; return c+1; } T(o) { c=11; S!P){ a=++a%72; S!a){ P=1; R
  29. c--){ x c=x m=0; x i=c>2?2:1 ; R x u=l 978-499<<8, x s= l
  30. 71, x r=l 979-501<<8, F(c,2) ); x f=c>2?l +2*+73:147; x o
  31. =2>c?249<<16-c*8:64987<<8*(c >2); } } } S P){ c=11; R 4&x
  32. i? ++x m-64&&x m-71? o=1,64> x m?(d=F(c,1))?x m=64,d<4?j[
  33. x e]++,++_ --d].c:0:g(7):G(x m -65) :_ x i=0,x e].e-- :0,
  34. 20>++c); c=3; R c--) { S 1&x i) { o++; S x c>2) x m>15? x
  35. i=0:G(x m++); else { S x m ) S x m-->6) g(4); S c<2) { x
  36. s=(72+x s+L[c?B]-L[c?C])%72; S d=4*L[c?A]-L[c?D]*4) { g(d
  37. ); S F(c,2)) g(-d); } S L[c? E]&!x m&x e<3) { d=10; R _++
  38. d].i) ; g(-4); _ d]=_ c]; _ d].e=c; x e++; x m=7; c=d; x
  39. f = 122 ; x i=4; g(19); x o= 4092<<12; c=x e; } } } } } P
  40. -=o<2; } v=2; R v--){ m=(108 - _ v].s)%72; b(3^_ v].c?0:
  41. 128); Q c=0,0,M,N); S!P) s(+ 36,54-a,0,-120,-+-+-+-+147,b
  42. ((1<<16)-1)); S P) { b(255); I 0,N/2,M,N/2); t=-.889*m; h
  43. =k+340; R u=(t+=q=n)*M/32,d= n*N/48,q?I f,e,u,d):0,f=u,e=
  44. +d,k+378>h); R x i&&c-v?s(m, x s,x u-_ v].u>>8,x r-_ v].r
  45. >>8,x f,b(x o)):0,20>c++); c =0; R e=16+32*c,Q v^c?16:8,e
  46. ,(c^v?68:76)+c[b(x o),j] , 16), b(0,d=20*x c), Q
  47. 80-d,4+e,d,8),2>c++) ; } b(255); I M,0,M,
  48. N); XCopyArea(W, X,O,Y,0,0,M,N,v*
  49. M,0); } }
  50. char*o="{ } { } { { } ; { } ; { ; { ; { ; { } ; { } ; { ; { ; } ; { ; { } } ; { ; } { } ; { ; { } ; { ; } { } { { } ; { } ; { ; { ; } { } { } } { } { } { } } { } } { } { } { } } { } { } { ; ; ; ; } { ; } { { } ; } } ; { ; } { ; } { { } ; { } ; { ; { ; } } { ; } { { } } } { ; } { ; { } ; } } } { } { } ; } } } } } { } ; } ; } ; { } { } ; { } ; } ; } } { } { } } { } { } } } } { { } } } } } { { } } { ; { { } ; { ; { { ; { ; { { } ; { ; { { ; ; } ; ; } ; ; } } { { } { { } { { { { } } } } } { { { { } { } { { } { { } { { { { } } ";
  51. main(){
  52. XEvent e; W=
  53. XOpenDisplay(k);
  54. XSelectInput(W,O=
  55. XCreateSimpleWindow(W,DefaultRootWindow(W),64,64,M*2,N,2,P,r),3);
  56. XMapWindow(W,O); srand(time(0)); Y=
  57. XCreateGC(W,X=
  58. XCreatePixmap(W,O,M,N,DefaultDepth(W,r)),P,r); R*o){ S*o^59)d=64&*o?'{'^*o++:3,
  59. 32^*o?d+=*o^9?2:1:0,*j+=P?d*9-43:d,j+=P,P=!P; else R*j=j[-3],j++,*++o^9); o++;
  60. } R 7){ T(0);
  61. XFlush(W); usleep(33367); R
  62. XPending(W)) L[
  63. XLookupKeysym(&e,
  64. XNextEvent(W,&e)&0)]^=1==e.type/2; } }