Buscando un programa de Tetris en lenguaje c
int dx[4],dy[4]; /*Definir variables globales*/
int zt1,zt2,str[15][19]; /p >
/*str[15][19] Divide toda la pantalla en 15*19 cuadrados, cada cuadrado está representado por una celda de matriz.
Si =15, significa que el cuadrado ha Ocupado, =0, significa que el cuadrado aún está vacío*/
int cx[8][5][4],cy[8][5][4];
int cx[8][5][4],cy[8][5][4]; /*Esta variable representa el cambio en las coordenadas cuando se rota cada estado*/
int x ,y,j,ji,c;
int maxzt[8]={0,2,1,4,2,2,4,4} /*Cuántos estados hay para cada uno; cuadrado* /
cir() /*Función de procesamiento de rotación*/
{ dx[0]=dx[0]+cx[zt1][zt2][0]; [0 ]=dy[0]+cy[zt1][zt2][0];
dx[2]=dx[2]+cx[zt1][zt2][2];dy[ 2] =dy[2]+cy[zt1][zt2][2];
dx[3]=dx[3]+cx[zt1][zt2][3];dy[3] ]= dy[3]+cy[zt1][zt2][3];
}
jiance() /* Función para detectar si se puede realizar rotación o movimiento, si entonces, entonces j=1, si no, entonces j=0*/
{ j=1
for(ji=0;ji<4;ji++)
{ x=dx[ ji];y=dy[ji];
if(str[x][y]! =' ') j=0; >}
c=dx[ji];y=dy[ji];
if(str[x][y]!
c=bioskey (1 );
if(c!=0) c=bioskey(0
}
principal
; { int dotx[4],doty[4],score; /*dotx[]doty[] representa las coordenadas de cada punto del cuadrado*/
int ddx,ddy;
int rzt1, rzt2,i,u,t=1;
int a[5],b[11],o,p,an,bn
int rotx; [4],roty [4],spd=0;
begin: system("cls"); /* Fase de inicialización del juego*/
printf("londing... ");
p>for(i=0;i<12;i++) /*Fase de inicialización de variable**/
{ for(u=0;u<19; u++)
str[i][u]=' ';
}
for(i=0;i<12;i++)
{str[ i][0]='-';str[i][18]='-' }
for(u=0;u<19;u++)
{ str[0][u]='|';str[11][u]='|' }
cx[1][1][0]=; 1;cx[1][ 1][2]=-1;cx[1][1][3][2]=-2; /* Asignar valor a la variable de rotación*/
cy [1][1][0 ]=1;cy[1][1][2]=-1;cy[1][1][3]=-2
>cx[1][2][0]=-1;cx[1][2][2]=1;cx[1][2][3]=2
cx[; 1][2][0]=-1;cx[1][2][2]=1;cx[1][2][3]=2
cy[1][; 2][0]=-1;cy[1][2][2]=1;cy[1][2][3]=2
cx[2][1][; 0]=0;cx[2][1][2]=0;cx[2][1][3]=0;
cy[2][1][0]=0 ;cy[2][1][2 ] =0;cy[2][1][3]=0
cx[3][1][0]=1; ][1][2]=-1; cx[3][1][3]=1;
cy[3][1][0]=-1; 1][2]=1; cy[3][1][3]=1;
cx[3][2][0]=1; ]=-1;cx[3][2][3]=-1;
cy[3][2][0]=1;cy[3][2][2]= -1;cy[3][2][3]=1;cy[3][2][3]=1
cx[3][3][0]=-1; cx[3][3][2]=1;cx[3][3][3][3]=-1;
cy[3][3][0]=1; cy[3][3][2]=-1;cy[3][3][3]=-1;
cx[3][4][0]=-1;cx [3][4][2]=1;cx[3][4][3]=1;
cy[3][4][0]= -1;cy[3] [4][2]=1;cy[3][4][3]=-1
cx[4][1][0]=-1;cx[4][1; ][2]=1;cx[4][1][3]=2;
cy[4][1][0]=1;cy[4][1][2] =1;cy[4][1][3]=0 ;
cx[4][2][0]=1;cx[4][2][2]=-1; cx[4][2][3]=-2;
cy[4][2][0]=-1;cy[4][2][2]=-1;cy [4][2][3]=0;
cx[5][1][0]=1;cx[5][ 1][2]=1;cx[5][ 1][3]=0;
cy[5][1][0]=-1;cy[5][1][2]=1;cy[5][1][ 2]=1;cy[5][1][3]=2
cx[5][2][0]=-1;cx[5][2][2]= -1;cx[5][2][3]=0;
cy[5][2][0]=1;cy[5][2][2]=-1; cy[5][2][3]=-2
cx[6][1][0]=1;cx[6][1][2]=-1;cx[ 6][1][1][3]=0;
cy[6][1][0]=-1;cy[6][1][2]=1; 6][1][3]=2;
cx[6][2][0]=1;cx[6][2][2]=-1;cx[6][ 2][3]=-2;
cy[6][2][0]=1;cy[6][2][2]=-1;cy[6][2] [3]=0;
cx[6][3] [0]=-1;cx[6][3][2]=1;cx[6][3][3] =0;
cy[6][3][0]=1;cy[6][3][2]=-1;cy[6][3][3]=-2 ;
cx[6][4][0]=-1;cx[6][4][2]=1;cx[6][4][2] [3]=2 ;
cy[6][4][0]=-1;cy
[6][4][2]=1;cy[6][4][3]=0
cx[7][1][0]=-1;cx[7] [1][2]=1;cx[7][1][3]=2;
cy[7][1][0]=1;cy[ 7][1][ 2]=-1;cy[7][1][3]=0
cx[7][2][0]=-1;cx[7][2][2] =1;cx[7][2][3]=0;
cy[7][2][0]=-1;cy[7][2][2]=1; cy[7][2][3]=2;
cx[7][3][0]=1;cx[7][3][2]=-1;cx[7 ][3][3]=-2;
cy[7][3][0]=-1;cy[7][3][2]=1;cy[7][ 3][3]=0;
cx[7][4][0]=1;cx[7][4][2]=-1;cx[7][4][ 3]=0;
cy[7][4][0]=1;cy[7][4][2]=-1;cy[7][4][3]= -2;
srand(time(0)); /*Inicializar función de número aleatorio rand() */
zt1=rand()%7 +1; Dos cuadrados*/
if(zt1==2) zt2=1
if(zt1==1||zt1==4||zt1==5) zt2=; rand()%2+1;
if(zt1==3||zt1==6||zt1==7) zt2=rand() %4+1; >rzt1=rand()%7+1;
if(rzt1==2) rzt2=1
if(rzt1==1||rzt1==4 || rzt1==5) rzt2=rand()%2+1;
if(rzt1==3||rzt1==6||rzt1==5) rzt2=rand()%2 +1
if(rzt1==6||rzt1==6|rzt1==6|rzt1=5) 6||rzt1==7) rzt2=rand()%4+1; p>
puntuación=0;
for(o=1;o<11;o++) b[o]=0;
cambiar(rzt1*1 rzt2)
/* Representa el tipo de cubo y el estado del cubo, es decir, zt1 y zt2.
Este paso consiste en determinar las coordenadas de los cuatro puntos del cubo en base a estas dos variables*/
{ caso 11: dotx[0]=4;dotx[1]=5;dotx[2] =6;dotx [3]=7;
doty[0]=2;doty[1]=2;doty[2]=2;doty[3]=2;
caso 12: dotx[0]=5;dotx[1]=5;dotx[2]=5;dotx[3]=5;
doty[0]= 4;doty[ 1]=3;doty[2]=2;doty[3]=1;
romper
caso 21: dotx[0]=5;dotx [1]= 6;puntox[2]=5;puntox[3]=6;
doty[0]=1;doty[1]=1;doty[2]=2;doty[ 3]=2 ;
romper;
caso 31: puntox[0]=4;puntox[1]=5;puntox[2]=6;puntox[3]= 5;
p>
doty[0]=2;doty[1]=2;doty[2]=2;doty[3]=1; ;
caso 32: dotx[0]=5;dotx[1]=5;dotx[2]=5;dotx[3]=6; =1;dotx[1]=2 ;dotx[2]=3;dotx[3]=2;
romper
Ejemplo 33: puntox[0]=6; puntox[1]=5;puntox[ 2]=4;puntox[3]=5; <
doty[0]=1;doty[1]=1;doty[2]=1; doty[3]=2;
p>romper;
caso 34: dotx[0]=6;dotx[1]=6;dotx[2]=6;dotx [3]=5;
doty[0]=3; < doty[1]=2;doty[2]=1;doty[3]=2; ;
Ejemplo 41: dotx[0]=6;dotx[1]=5;dotx[2]=5;dotx[3]=4; =2;doty[1]=2;doty [2 ]=1;doty[3]=1;
romper
caso 42: dotx[0]=5; puntox[1]=5;puntox[2] =6;puntox[3]=6;
doty[0]=3;doty[1]=2;doty[2]=2;doty [3]=1;
romper;
Ejemplo 51: puntox[0]=4;puntox[1]=5;puntox[2]=5;puntox[3] =6;
doty [0]=2;doty[1]=2;doty[2]=1;doty[3]=1;
romper; >
romper;
caso 52: dotx[0]=5;dotx[1]=5;dotx[2]=6;dotx[3]=6; >doty[0]=1;doty[1 ]=2;doty[2]=2;doty[3]=3;
break
Ejemplo 61: dotx[ 0]=4; puntox[1]=5 ; puntox[2]=6; puntox[3]=6; ]=2; doty[3]=1;
romper;
caso 62: puntox[0]=5;
]=5.dotx[2]=5;dotx[3]=6;
doty[0]=1;doty[1]=2;doty[2]=3;doty[3] =3;
romper;
caso 63: puntox[0]=6;puntox[1]=5;puntox[2]=4;puntox[3 ]=4;
doty[0]=1;doty[1]=1;doty[2]=1;doty[3]=2;
romper; >caso 64: puntox[0]=6;puntox[1]=6;puntox[2]=6;puntox[3]=5
doty[ 0]=3;puntox[1] =2;dotx[2]=1;dotx[3]=1;
romper;
caso 71: puntox[0]=6;puntox[1]=5; puntox[2]=4;puntox[3]=4;
doty[0]=2;dotx[1]=2.doty[2]=2;doty[3]=1; /p>
romper;
caso 72: dotx[0]=5;dotx[1]=5;dotx[2]=5;dotx[3]=6;
doty[0]=3;doty[1]=2;doty[2]=1;doty[3 ]=1;
ruptura
caso 73: puntox[0]=4;puntox[1]=5;puntox[2]=6;puntox[3]=6;
doty[0]=1;doty[1]=1;doty [2]=1;doty[3]=2;
romper;
caso 74: dotx[0]=6;dotx[1]=6;dotx[2] =6;puntox[3]=5;
doty[0]=1;puntox[1]=2;puntox[2]=3;puntox[3]=3; p>break;
}
switch(rzt1*1rzt2) /* Determinar las coordenadas de cada punto del segundo cuadrado*/
{ case 11 : rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=7;
roty[0]=2;rotx[1]=2; ; rotx[2]=2.
caso 12: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=5;
roty[0]=4;roty[1]=3;roty[2]=2;roty[3]=1;
romper
caso 21: rotx[0]=5;rotx[1]=6;rotx[2]=5;rotx[3]=6;
roty[0]=1;roty[1]=1;roty [ 2]=2;roty[3]=2;
romper;
caso 31: rotx[0]=4;rotx[1]=5;rotx[2] = 6;rotx[3]=5;
roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1; p >romper;
caso 32: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6; [ 0]=1;roty[1]=2;roty[2]=3;roty[3]=2;
romper
Ejemplo 33: rotx[0] = 6;rotx[1]=5;rotx[2]=4;rotx[3]=5
roty[0]=
1;roty[1]=1;roty[2]=1;roty[3]=2;
romper
caso 34: rotx[0]=6;rotx [1]=6;rotx[2]=6;rotx[3]=5; <
roty[0]=3;roty[1]=2;roty[2]=1;roty [3]=2;
romper;
Ejemplo 41: rotx[0]=6;rotx[1]=5;rotx[2]=5;rotx[3] =4;
roty[0]=2; < roty[1]=2;roty[2]=1;roty[3]=1; p> p>
caso 42: rotx[0]=5;rotx[1]=5;rotx[2]=6;rotx[3]=6;
roty[0]= 3; roty[1]=2;roty[2 ]=2;roty[3]=1;
romper
Ejemplo 51: rotx[0]=4;rotx [1 ]=5;rotx[2]=5;rotx[3]=6;
roty[0]=2;roty[1]=2;roty[2]=1;roty[ 3] =1;
romper;
caso 52: rotx[0]=5;rotx[1]=5;rotx[2]=6;rotx[3]= 6;
roty[0]=1;roty[1]=2;roty[2]=2;roty[3]=3;
romper
romper;
caso 61:rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=6;
roty[0] =2 ;roty[1]=2;roty[2]=2;roty[3]=1;
romper
caso 62: rotx[0]=5; rotx[ 1]=5; rotx[2]=5; rotx[3]=6; rotx[0]=1; [3 ]=3;
romper;
caso 63: rotx[0]=6; =4 ;
roty[0]=1;roty[1]=1;roty[2]=1;roty[3]=2;
romper; >
caso 64: rotx[0]=6;rotx[1]=6;rotx[2]=6;rotx[3 ]=5
roty[0]=3;roty [1 ]=2;roty[2]=1;roty[3]=1;
romper;
caso 71: rotx[0]=6;rotx[1] =5 ;rotx[2]=4;rotx[3]=4;
roty[ 0]=2;rotx[1]=2;rotx[2]=2;rotx[3]= 1;
romper;
caso 72: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6; /p >
roty[0]=3;roty[1]=2;roty[2]=1;roty[3]=1;
romper; caso 73 :rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=6
roty[0]=1;roty[1]= 1; roty[2]=1;roty[3 ]=2;
romper
caso;
74: rotx[0]=6;rotx[1]=6;rotx[2]=6;rotx[3]=5;
roty[0]=1;roty[1]=2; ;roty[2]=3;roty[3]=3;
romper ;
}
sistema?
sistema( "cls"); /* Mostrar etapa inicial*/
printf("\n\n\n" /* Mover el área del juego hacia abajo 3 */
for ( u=0;u<19;u++)
{ for(i=0;i<12;i++)
printf("%c",str[i][ u ]);
printf("\n");
}
gotoxy(16,5);printf("------ - -");
gotoxy(16,12);printf("---- ----");
for(i=6;i<12; i++ )
{ gotoxy(16,i);printf("|");printf("|" }
for(i=6;i<12;i++ )
{gotoxy(16,i);printf("|");gotoxy(23,i);printf("|"); i<4;i++)
{gotoxy(rotx[i]+14,roty[i]+6);printf("%c",15);
}
begin2: delay(26000); /* El juego comienza, retraso 1**/
velocidad: retraso(10000); /* Aceleración, retraso 2**/
gotoxy(16,14);printf("Puntuación:
for(i=0;i<4;i++)
{gotoxy(puntox[i]+ 1 ,doty[i]+4);printf(" ");
ddx=dotx[i];ddy=doty[i];
str[ddx][ddy ] =' ';
}
an=an-0.4; /*Indica si se ha presionado el botón, usado para mover el cubo después de que aterriza*/
c=bioskey(1); /*Parte de procesamiento de claves*/
/*bioskey(1) es una función utilizada para detectar si se presiona una tecla*/
if (¡do! =0)
{ c=bioskey(0);
if(c==8292||c==19712)
{ for(i= 0;i<4;i++)
{ dx[i]=dotx[i]+1;dy[i]=doty[i] }
Jiance(1)
jiance();
for(i=0;i<4;i++)
dotx[i]=(j)? : puntox[i];
an=(j||bn
}
if(i<4;i++)
dotx[i]=(j)?
if(c==7777||c==19200)
{ for(i=0;i<4;i++ )
{ dx[i]=dotx[i]-1;dy[i]=doty[ i] }
jiance=(j)?
jiance();
para(i=0
;i<4;i++)
puntox[i]=(j)? dx[i] : puntox[i]
an=(j||bn); /p>
}
if(i<4;i++)
dotx[i]=(j)?
if(c== 6512) /* Pausar procesamiento*/
{ while(1)
{ c=bioskey(0);
if(c==6512) break
}
ir a comenzar3
}
if(c==8051||c==20480) spd=1 ; /* Aceleración (spd==1 indica estado de aceleración)*/
if(c==4471||c==18432) /* Procesamiento de rotación**
{ for (i=0;i<4;i++)
{ dx[i]=dotx[i];dy[i]=doty[i] }
/*dx; [] y dy[] son variables temporales, por lo que una vez que se determina que no se pueden rotar, se pueden restaurar fácilmente a las coordenadas antes de la rotación*/
cir() /* Rotación*/
jiance(); /* Determinar si la rotación es posible*/
for(i=0;i<4;i++)
{ dotx[i ]=(j) ?dx[i] : dotx[i]; doty[i]=(j)?dy[i] : doty[i] }
/* Según el valor de j obtenido de jiance(), determine si a dotx[] y doty[] se les asignan valores posteriores o previos a la rotación*/
if(j==1) /*Si la rotación es posible, cambie el estado del cubo original*/
{ an=(j||bn);zt2=zt2+1
if(zt2>maxzt[zt1]) zt2=1;
goto overif; /*Finalizar procesamiento de rotación*/
}
for(i=0;i<4. i++)
{ dx[i]=dotx [i]+1;dy[i]=doty[i]; }
/* Si no se puede rotar, determine si se puede rotar después de mover las coordenadas. a la derecha por 1*/
cir();
jiance();
for(i=0;i<4;i++) p>
{ puntox[i]=(j )? dx[i] : puntox[i]; doty[i]=(j)?dy[i] : doty[i]; p>if(i=0;i<4;i++ )
/* Si no se puede rotar, determine si se puede rotar después de mover las coordenadas hacia la derecha 1*/
cir();
jiance();
for(i=0;i<4;i++)
{ puntox[i]= (j)?
if(j==1)
{ an=(j||bn);zt2=zt2+1
if( zt2>maxzt[zt1]) zt2=1;
ir a overif;
}
if(dotx[2]==1) ir a overif
for(i=0;i<4;i++)
{ dx[i]=dotx[i]-1;dy[i]=doty[i]; /p>
//* Determinar si las coordenadas se pueden rotar después de moverse hacia la izquierda* / Se pueden rotar*/
cir();
jiance();
for(i=0;i<4;i++)
{ puntox[i]=(j)? doty[i]=(j)?dy[i] : doty[i] }
if(i=0;i<4;i++)
{ dotx[i ]=(j)?
if(j==1)
{ an=(j||bn);zt2=zt2+1
if(zt2>maxzt[zt1]) zt2=1;
ir a overif;
}
overif?
overif: ;
}
}
begin3: for(i=0;i<4;i++) /* Procesamiento cuadrado hacia abajo*/
{ dx[i]=dotx[i];dy[i]=doty[i]+1 }
jiance();
bn=j; >
for(i=0;i<4;i++)
doty[i]=(j)?dy[i] : doty[i]
para (i=0;i<4;i++)
{ gotoxy(dotx[i]+1,doty[i]+4);printf("%c",15
);ddx=dotx[i];ddy=doty[i];
str[ddx][ddy]=15
}
si; (i=0;i<4;i++)
doty[i]=(j)?
if(j==1&&spd==1) { spd=0;goto velocidad }
if(j==1||an>0) ir a comenzar2
for(u=17;u>.0;u--) /* cuando es cuadrado; Proceso al dejar de bajar (el cuadrado se ha movido hacia abajo) */
{ for(i=1;i<11;i++) /* Determinar si cada fila está llena*/
si(cadena[i][u]==15) b[i]=1;
si (b[1]+b[2]+b[3]+b[4 ]+b[5]+b[6]+b[7]+b[8]+b[9]+b[10]<10)
{ para (o=1;o< 11;o++) b[o]=0;
continuar;
}
for (o=1;o<11;o++) b[o] ]=0;
a[t]=u;t++;
}
puntuación+=(t)*(t-1)/2; /p>
for(i=1;i<11;i++)
if(str[i][1]==15) b[i]=1
<; p>si (b[1]+b[2]+b[3]+b[4]+b[5]+b[6]+b[7]+b[8]+b[9]+b [10]>0 &&t==1) pasar afor(o=1;o<11;o++) b[o]=0
if(t=; =1) goto ran;
switch(t) /* Eliminación de cuadrados, t = función a eliminar + 1 */
{ caso 5: for(u=a [ 4];u>1;u--) { for(i=1;i<11;i++) str[i][u]=str[i][u-1] }
<p>/* La fila que se va a eliminar está en la fila superior y el cuadrado superior se mueve hacia abajo en su conjunto. Las siguientes situaciones 4, 3 y 2 son similares*/
Ejemplo 4: for(. u=a[3 ];u>1;u--) { for(i=1;i<11;i++) str[i][u]=str[i][u-1] }
Ejemplo 3: for(u =a[2];u>1;u--) { for(i=1;i<11;i++) str[i][u]=str[i][ u-1]; }
Ejemplo 2: for(u=a[1];u>1;u--) { for(i=1;i<11;i++) str[i] [u]=cadena [i][u-1]; }
} }
}
t=1; for(u=1 ;u<18;u++)
{ for(i=1;i<11;i++)
{ gotoxy(i+1,u+4)
printf("%c",str [i][u]);
}
}
ran:zt1; =rzt1;zt2= rzt2;rzt1=rand()%7+1; /* Genera los siguientes dos cuadrados*/
if(rzt1==2) rzt2=1; >if(rzt1 ==1||rzt1==4||rzt1==5) rzt2=rand()%2+1;
if(rzt1==3||rzt1==6| |rzt1== 7) rzt2=rand()%4+1;
for(i=0;i<4;i++)
{ puntox[i]=rotx[ i].doty [i]=roty[i];
gotoxy(dotx[i]+1,doty[i]+4); >
}
cambiar(rzt1*1rzt2)
{ caso 11: rotx[0]=4; rotx[1]=5;rotx[2]= 6;rotx[ 3]=7;
roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=2; >romper;
caso 12: rotx[0]=5;rotx[1]=5;rotx[2 ]=5;rotx[3]=5;
roty[ 0]=4 ;roty[1]=3;roty[2]=2;roty[3]=1;
romper
caso 21: rotx[0]= 5;rotx[ 1]=6;rotx[2]=5;rotx[3]=6
roty[0]=1;roty[1]=1;roty[2]=2 ;roty[3 ]=2;
romper;
caso 31:rotx[0]=4;rotx[1]=5;rotx[2]=6;rotx[ 3]=5 ;
roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1;
romper; /p>
caso 32: rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6
roty[0]=1; ;roty[1 ]=2;roty[2 ]=3;roty[3]=2;
romper
caso 33: rotx[0]=6;rotx[ 1]=5 ;rotx[2]=4;rotx[3]=5;
roty[0]=1;roty[1]=1;roty[2]
=1;roty[3]=2;
romper;
caso 34: rotx[0]=6;rotx[1]=6;rotx[2]=6; rotx[3]=5;
roty[0]=3;rotx[1]=2;rotx[2]=1;rotx[3]=2;
romper;
caso 41: rotx[0]=6;rotx[1]=5;rotx[2]=5;rotx[3]=4; p>
p>
roty[0]=2;roty[1]=2;roty[2]=1;roty[3]=1
romper
caso 42: rotx[0]=5;rotx[1]=5;rotx[2]=6;rotx[3]=6;
roty[0]=3;roty [1]=2 ;roty[2]=2;roty[3]=1;
romper;
caso 51: rotx[0]=4;rotx[1] =5.rotx[ 2]=5;rotx[3]=6;
roty[0]=2;roty[1]=2;roty[2]=1;roty[3]= 1;
romper;
caso 52: rotx[0]=5;rotx[1]=5;rotx[2]=6;rotx[3 ]=6; /p>
roty[0]=1;roty[1]=2;roty[2]=2;roty[3]=3;
romper
Ejemplo 61: rotx[ 0]=4;rotx[1]=5;rotx[2]=6;rotx[3]=6;
roty[ 0]=2;roty[1]= 2;roty[2 ]=2;roty[3]=1;
romper;
caso 62: rotx[0]=5;rotx[1]=5;rotx [2]=5 ;rotx[3]=6;
roty[0]=1;roty[1]=2;roty[2]=3;roty[3]=3 p>
ruptura;
caso 63: rotx[0]=6;rotx[1]=5;rotx[2]=4;rotx[3]=4; p>roty[0 ]=1;roty[1]=1;roty[2]=1;roty[3 ]=2;
romper
caso 64: rotx [0]=6 ;rotx[1]=6;rotx[2]=6;rotx[3]=5;
roty[0]=3;roty[1]=2;roty[ 2]=1; roty[3]=1;
romper;
caso 71: rotx[0]=6;rotx[1]=5;rotx[2]= 4;rotx[3 ]=4;
roty[0]=2;roty[1]=2;roty[2]=2;roty[3]=1; >romper;
romper; p>
Ejemplo 72.rotx[0]=5;rotx[1]=5;rotx[2]=5;rotx[3]=6; p>
roty[0]=3; roty[1]=2;roty[2]=1;roty[3]=1;
romper
caso; 73: rotx[0]=4;rotx[1 ]=5;rotx[2]=6;rotx[3]=6;
roty[0]=1;roty[1]=1; ;roty[2]=1;roty[3] =2;
romper;
caso 74: rotx[0]=6;rotx[1]=6;rotx
x[2]=6;rotx[3]=5;
roty[0]=1;roty[1]=2;roty[2]=3;roty[3]=3; /p>
break;
}
for(i=6;i<12;i++) /*Actualiza el área utilizada para mostrar el siguiente cuadrado*/ < / p>
{ gotoxy(16,i);printf("|");gotoxy(23,i);printf("|");
for(i=6;i < 12;i++)
for(u=17;u<23;u++) { getoxy(u,i);printf("%c",32 }
for (i=0;i<4;i++)
{gotoxy(rotx[i]+14,roty[i]+6);printf("%c",15} p); >
c=bioskey(1);an=0;
if(c!=0 ) c=bioskey(0);
if(spd==1 ) { spd=0;ir a velocidad; }
ir a comenzar2;
sobre: system("cls");
gotoxy(36,11); ("JUEGO TERMINADO ");
bioskey(0);
system("cls");
printf("Tu puntuación es %d\ n \n",score);
printf("Presiona 'Q' para salir\nSi quieres jugar nuevamente, presiona otras teclas. Si quieres jugar nuevamente, presiona otras teclas." )
puntuación=0;
c=bioskey(0);
if(c!=4209) ir a comenzar
}