Código de C/Visual C - Juego de tetris

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

Juego de tetrisgráfica de visualizaciones


C/Visual C

estrellaestrellaestrellaestrellaestrella(2)
Actualizado el 31 de Enero del 2019 por Adelino (Publicado el 25 de Enero del 2018)
11.239 visualizaciones desde el 25 de Enero del 2018. Una media de 203 por semana
Juego de tetris en pantalla grafica (modo 13), se maneja con las teclas de dirección y escape, para cambiar nivel + y -.

Screenshot_20180225-011717

Requerimientos

Esta probado en turbo C++ 3.0

1.0
estrellaestrellaestrellaestrellaestrella(2)

Publicado el 25 de Enero del 2018gráfica de visualizaciones de la versión: 1.0
549 visualizaciones desde el 25 de Enero del 2018. Una media de 14 por semana

1.1

Actualizado el 30 de Enero del 2018 (Publicado el 27 de Enero del 2018)gráfica de visualizaciones de la versión: 1.1
356 visualizaciones desde el 27 de Enero del 2018. Una media de 7 por semana

1.2

Actualizado el 06 de Febrero del 2018 (Publicado el 01 de Febrero del 2018)gráfica de visualizaciones de la versión: 1.2
515 visualizaciones desde el 01 de Febrero del 2018. Una media de 14 por semana

1.3

Publicado el 22 de Febrero del 2018gráfica de visualizaciones de la versión: 1.3
235 visualizaciones desde el 22 de Febrero del 2018. Una media de 7 por semana

1.4

Actualizado el 03 de Marzo del 2018 (Publicado el 25 de Febrero del 2018)gráfica de visualizaciones de la versión: 1.4
320 visualizaciones desde el 25 de Febrero del 2018. Una media de 7 por semana

1.5

Actualizado el 08 de Marzo del 2018 (Publicado el 05 de Marzo del 2018)gráfica de visualizaciones de la versión: 1.5
278 visualizaciones desde el 05 de Marzo del 2018. Una media de 7 por semana

1.6

Actualizado el 24 de Marzo del 2018 (Publicado el 10 de Marzo del 2018)gráfica de visualizaciones de la versión: 1.6
444 visualizaciones desde el 10 de Marzo del 2018. Una media de 14 por semana

1.7

Actualizado el 11 de Abril del 2018 (Publicado el 27 de Marzo del 2018)gráfica de visualizaciones de la versión: 1.7
423 visualizaciones desde el 27 de Marzo del 2018. Una media de 14 por semana

1.8

Actualizado el 14 de Mayo del 2018 (Publicado el 11 de Abril del 2018)gráfica de visualizaciones de la versión: 1.8
828 visualizaciones desde el 11 de Abril del 2018. Una media de 21 por semana

1.9

Actualizado el 09 de Junio del 2018 (Publicado el 04 de Junio del 2018)gráfica de visualizaciones de la versión: 1.9
405 visualizaciones desde el 04 de Junio del 2018. Una media de 14 por semana

2.0

Publicado el 19 de Junio del 2018gráfica de visualizaciones de la versión: 2.0
167 visualizaciones desde el 19 de Junio del 2018. Una media de 7 por semana

2.1

Actualizado el 23 de Junio del 2018 (Publicado el 20 de Junio del 2018)gráfica de visualizaciones de la versión: 2.1
218 visualizaciones desde el 20 de Junio del 2018. Una media de 7 por semana

2.2

Actualizado el 27 de Junio del 2018 (Publicado el 23 de Junio del 2018)gráfica de visualizaciones de la versión: 2.2
184 visualizaciones desde el 23 de Junio del 2018. Una media de 7 por semana

2.3

Actualizado el 30 de Junio del 2018 (Publicado el 29 de Junio del 2018)gráfica de visualizaciones de la versión: 2.3
128 visualizaciones desde el 29 de Junio del 2018. Una media de 7 por semana

2.4

Actualizado el 08 de Julio del 2018 (Publicado el 02 de Julio del 2018)gráfica de visualizaciones de la versión: 2.4
438 visualizaciones desde el 02 de Julio del 2018. Una media de 14 por semana

2.5

Actualizado el 25 de Julio del 2018 (Publicado el 14 de Julio del 2018)gráfica de visualizaciones de la versión: 2.5
505 visualizaciones desde el 14 de Julio del 2018. Una media de 21 por semana

2.6

Actualizado el 11 de Agosto del 2018 (Publicado el 05 de Agosto del 2018)gráfica de visualizaciones de la versión: 2.6
305 visualizaciones desde el 05 de Agosto del 2018. Una media de 14 por semana

2.7

Actualizado el 22 de Agosto del 2018 (Publicado el 13 de Agosto del 2018)gráfica de visualizaciones de la versión: 2.7
971 visualizaciones desde el 13 de Agosto del 2018. Una media de 42 por semana

2.8

Actualizado el 14 de Septiembre del 2018 (Publicado el 04 de Septiembre del 2018)gráfica de visualizaciones de la versión: 2.8
625 visualizaciones desde el 04 de Septiembre del 2018. Una media de 28 por semana

2.9

Actualizado el 18 de Septiembre del 2018 (Publicado el 16 de Septiembre del 2018)gráfica de visualizaciones de la versión: 2.9
1.159 visualizaciones desde el 16 de Septiembre del 2018. Una media de 56 por semana

3.0

Publicado el 04 de Noviembre del 2018gráfica de visualizaciones de la versión: 3.0
1.630 visualizaciones desde el 04 de Noviembre del 2018. Una media de 105 por semana

3.1

Actualizado el 31 de Enero del 2019 (Publicado el 29 de Enero del 2019)gráfica de visualizaciones de la versión: 3.1
557 visualizaciones desde el 29 de Enero del 2019
estrellaestrellaestrellaestrellaestrella
estrellaestrellaestrellaestrella
estrellaestrellaestrella
estrellaestrella
estrella

Optimizacion del codigo con una funcion a modo de subrutina.
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
79
80
81
82
83
84
85
86
87
#include<dos.h>
#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[250]={117+(char far*)0xA0000000};
char b[4][112],B[4][112],C[4][7][4],H[4][7][4];
int G[]={1,2,3,0},I[]={0,77,75,72},X[]={10,1,-1,0};
int e[256],i[44],q[49],D[112],Y[25];
int a,g,n,x,y,c=250,d=49,h=48,L,M=9,p=6;
void pieza(char far*F,int f){
for(d=49;d--;*(F+q[d])=f);
}
int main(){
_AX=0x13;
geninterrupt(0x10);
clock_t T;
srand(time(NULL));
printf("%c[3;28f Nivel=1",27);
while(--c) Q[c]=Q[0]+c/10*2560+c%10*8;
while(d--) q[d]=d/7*320+d%7;
for(y=25;y--;pieza(Q[c]+80,8))
for(x=10;x--;) if(!x||y%24<1)
               pieza(Q[c=x+10*y],8);
for(g=4;g--;e[I[g]]=g,h=0)
for(a=7;a--;)
for(n=0,y=4;y--;)
for(x=4;x--;) if(A[g][y][a][x]=A[G[g]][x][a][3-y]-h)
              C[n++][a][g]=x+10*y;
for(a=7;a--;)
for(g=4;g--;){
              y=G[g];
              for(x=n=4;n--;i[I[n]=C[n][a][g]]++);
              while(x--){
                         for(d=n=0;n<4;n++)
                         if(i[c=C[n][a][y]+X[x]]) i[c]--;
                         else B[D[h]++][h]=c;
                         while(n--) if(!i[c=I[n]]) i[c]++;
                                    else b[d++][h]=c;
                         H[x][a][y=g]=h++;
                        }
              for(n=4;n--;i[I[n]]--);
             }
Inicio:
for(n=4;n--;pieza(Q[c]+17048,0))
if(!*Q[c=C[n][a=p][g=0]+4]) pieza(Q[c],a+1);
else while(1) if(getch()==27)
              return 0;
p=rand()%7;
for(c=n=4;n--;)
pieza(Q[C[n][p][0]]+17080,p+1);
 
Rutina:
if(n<0) T=clock();
while(E=kbhit()) getch();
do if(kbhit()) E=getch();
   while(!E&&clock()-T<M);
if(E==27&&getch()==E) return 0;
if(E=='-') printf("%c[3;35f%u",27,10-(M+=M<10));
if(E=='+') printf("%c[3;35f%u",27,10-(M-=M>1));
h=H[x=e[E]][a][g];
for(n=D[h];n--;)
if(*Q[I[n]=B[n][h]+c]) break;
if(n<0){
        for(n=D[h];n--;) pieza(Q[I[n]],a+1),
                         pieza(Q[b[n][h]+c],0);
        if(x>2) g=G[g];
        else c+=X[x];
       }
else if(!x){
            for(n=4;n--;Y[y=(C[n][a][g]+c)/10]++);
            do while(Y[x=y]>8)
               do for(L+=x==y,c=10*x--,n=9;n--;)
                  if(*Q[++c]!=(a=x?*Q[c-10]:0))
                  pieza(Q[c],a);
                  while(Y[x+1]=Y[x]);
               while(Y[--y]);
            printf("%c[5;28fLineas=%u",27,L);
            goto Inicio;
           }
goto Rutina;
}



Comentarios sobre la versión: 3.1 (0)


No hay comentarios
 

Comentar la versión: 3.1

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/s4406  
Revisar política de publicidad