Tetris en 19 lineas de Código C


Este post de taringa, me hizo recordar cuando programaba en C, cuando estaba en el Tec, programas sencillos todavia recuerdo una función que permitia agregarle a tus sistemas un menu de opciones ilimitados, pero claro nada que ver con este código.

El autor Jhon Trump de este juego de clasicos Tetris ha ganado un concurso de código C.


Para probarlo copien y peguen el siguiente codigo en el bloc de notas y guardenlo como tetris.c

DESCARGAR EL CODIGO

long h[4];t(){h[3]-=h[3]/3000;setitimer(0,h,0);}c,d,l,v[]={(int)t,0,2},w,s,I,K
=0,i=276,j,k,q[276],Q[276],*n=q,*m,x=17,f[]={7,-13,-12,1,8,-11,-12,-1,9,-1,1,
12,3,-13,-12,-1,12,-1,11,1,15,-1,13,1,18,-1,1,2,0,-12,-1,11,1,-12,1,13,10,-12,
1,12,11,-12,-1,1,2,-12,-1,12,13,-12,12,13,14,-11,-1,1,4,-13,-12,12,16,-11,-12,
12,17,-13,1,-1,5,-12,12,11,6,-12,12,24};u(){for(i=11;++i<264;)if((k=q[i])-Q[i]
){Q[i]=k;if(i-++I||i%12<1)printf(“33[%d;%dH”,(I=i)/12,i%12*2+28);printf(
“33[%dm  “+(K-k?0:5),k);K=k;}Q[263]=c=getchar();}G(b){for(i=4;i–;)if(q[i?b+
n[i]:b])return 0;return 1;}g(b){for(i=4;i–;q[i?x+n[i]:x]=b);}main(C,V,a)char*
*V,*a;{h[3]=1000000/(l=C>1?atoi(V[1]):2);for(a=C>2?V[2]:”jkl pq”;i;i–)*n++=i<
25||i%12<2?7:0;srand(getpid());system(“stty cbreak -echo stop u”);sigvec(14,v,
0);t();puts(“33[H33[J”);for(n=f+rand()%7*4;;g(7),u(),g(0)){if(c<0){if(G(x+
12))x+=12;else{g(7);++w;for(j=0;j<252;j=12*(j/12+1))for(;q[++j];)if(j%12==10){
for(;j%12;q[j–]=0);u();for(;–j;q[j+12]=q[j]);u();}n=f+rand()%7*4;G(x=17)||(c
=a[5]);}}if(c==*a)G(–x)||++x;if(c==a[1])n=f+4**(m=n),G(x)||(n=m);if(c==a[2])G
(++x)||–x;if(c==a[3])for(;G(x+12);++w)x+=12;if(c==a[4]||c==a[5]){s=sigblock(
8192);printf(“33[H33[J33[0m%d\n”,w);if(c==a[5])break;for(j=264;j–;Q[j]=
0);while(getchar()-a[4]);puts(“33[H33[J33[7m”);sigsetmask(s);}}d=popen(
“stty -cbreak echo stop 23;sort -mnr -o HI – HI;cat HI”,”w”);fprintf(d,
“%4d from level %1d by %s\n”,w,l,getlogin());pclose(d);}

Compilacion
gcc tetris.c -o tetris

Ejecucion
./tetris

Instrucciones del Juego: Las teclas son j, k y l. q para salir.

Visto en Taringa por Mukenioarg

Publicado el agosto 4, 2010 en Juegos, Lenguaje de Programación y etiquetado en , , , , . Guarda el enlace permanente. 2 comentarios.

  1. Very informative post. Thanks for taking the time to share it with us.

  1. Pingback: Articulo Indexado en la Blogosfera de Sysmaya

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: