Código de C/Visual C - Tetris en modo texto

Imágen de perfil
Val: 997
Oro
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C
Actualizado

Tetris en modo textográfica de visualizaciones


C/Visual C

Actualizado el 15 de Octubre del 2019 por Adelino (Publicado el 25 de Enero del 2018)
2.223 visualizaciones desde el 25 de Enero del 2018
Juego de tetris en pantalla de texto, se maneja con las teclas de dirección y escape.
Para subir o bajar de nivel + y -.
5a72583eee6a3-tetrix

Requerimientos

Esta probado en turboC++ 3.0

1.0

Actualizado el 3 de Marzo del 2019 (Publicado el 25 de Enero del 2018)gráfica de visualizaciones de la versión: 1.0
133 visualizaciones desde el 25 de Enero del 2018

1.1

Actualizado el 3 de Marzo del 2019 (Publicado el 13 de Julio del 2018)gráfica de visualizaciones de la versión: 1.1
211 visualizaciones desde el 13 de Julio del 2018

1.2

Actualizado el 3 de Marzo del 2019 (Publicado el 26 de Julio del 2018)gráfica de visualizaciones de la versión: 1.2
260 visualizaciones desde el 26 de Julio del 2018

1.3

Actualizado el 3 de Marzo del 2019 (Publicado el 17 de Agosto del 2018)gráfica de visualizaciones de la versión: 1.3
1.464 visualizaciones desde el 17 de Agosto del 2018

1.4

Actualizado el 15 de Octubre del 2019 (Publicado el 9 de Octubre del 2019)gráfica de visualizaciones de la versión: 1.4
156 visualizaciones desde el 9 de Octubre del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Redimension de matrices.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#include<time.h>
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
 
char A[4][4][7][4]={
"0000","0000","0000","0000","0000","0000","0000",
"1111","0100","0010","0110","0110","0100","0110",
"0000","0111","1110","0011","1100","1110","0110",
"0000","0000","0000","0000","0000","0000","0000"};
char E,far*q=2048+(char far*)0xB8000000;
char far*Q[250],B[256],b[256],e[256];
char C[7][4][4],D[7][4][4],Y[25];
int H[7][4][4],I[4],i[50]={4};
int G[]={1,2,3,0};
int X[]={10,1,-1,0};
int M=9,h=48,c=250,p=6;
int L,a,g,n,v,w,x,y;
 
int main(){
textmode(C40);
_setcursortype(_NOCURSOR);
clock_t T;
srand(time(NULL));
 
printf("%c[3;28f Nivel=1",27);
e[77]=1,e[75]=2,e[72]=3;
for(y=25;y--;*(q+=22)=8,*--q=219)
for(q-=81,x=10;x--;*q--=219)
*(Q[--c]=q--)=!x||y%24<1?8:0;
 
for(g=4;g--;h=0)
for(a=7;a--;)
for(n=0,x=y=4;y--;x=4)
while(x--) if(A[g][y][a][x]=A[G[g]][x][a][3-y]-h)
           C[a][g][n++]=10*y+x;
 
for(a=7;a--;)
for(g=0,n=x=y=4;y--;n=x=4,g=y)
do{
   while(n--&&i[I[n]]--) i[I[n]=C[a][y][n]]++;
   H[a][y][--x]=h;
   while(++n<4) !i[v=X[x]+C[a][g][n]]?B[h++]=v:i[v]--;
   D[a][g=y][x]=h-c;
   while(n) i[v=I[--n]]?b[c++]=v:i[v]++;
  }while(x);
 
Inicio:
printf("%c[5;28fLineas=%u",27,L);
for(n=4;n--;*(q+502)=0)
if(!*Q[c=4+C[a=p][g=0][n]]) *(q=Q[c])=a+1;
else while(1) if(getch()==27) return 0;
p=rand()%7;
for(c=n=4;n--;*--q=219)
*(q=Q[C[p][0][n]]+510)=p+1;
 
do{
   if(n<0) T=clock();
   do if(E=kbhit()) E=getch();
      while(!E&&clock()-T<M);
   if(E==27&&getch()==E) return 0;;
   if(y=(E=='-'&&M<10)-(E=='+'&&M>1))
   printf("%c[3;35f%u",27,10-(M+=y));
   h=H[a][g][x=e[E]];
   n=y=D[a][g][x];
   while(y--&&!*Q[I[y]=c+B[h]]) i[y]=c+b[h++];
   if(y<0) for(x>2?g=G[g]:c+=X[x++];n--;)
           *Q[i[n]]-=*Q[I[n]]=a+1;
  }while(x);
 
for(n=4;n--;Y[y=(c+C[a][g][n])/10]++);
do while(Y[x=y]>8)
   do for(L+=x==y,c=10*x--,n=9;n--;)
      *Q[++c]=x?*Q[c-10]:0;
      while(Y[x+1]=Y[x]);
   while(Y[--y]);
goto Inicio;
}



Comentarios sobre la versión: 1.4 (0)


No hay comentarios
 

Comentar la versión: 1.4

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad

http://lwp-l.com/s4407