Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Diff: funcion_matriz.h
- Revision:
- 2:15facba8b8b4
- Parent:
- 1:ebfb091d5b63
- Child:
- 3:8a8ff76e84bc
--- a/funcion_matriz.h Sat Nov 17 02:16:21 2018 +0000 +++ b/funcion_matriz.h Sat Nov 17 04:44:57 2018 +0000 @@ -9,9 +9,9 @@ uint8_t mat_tmp[8]={0,0,0,0,0,0,0,0}; uint8_t mat_tmp1[8]={0,0,0,0,0,0,0,0}; //Matriz temporal de las fichas. uint8_t dat[MAXDAT]={0,0,0}; -uint8_t fila=0,save=0,i=0,cont=0,mcol=0,num=0,grad=0; +uint8_t fila=0,save=0,cont=0,num=0,grad=0,mcol=0,i; -void imp_mat(uint8_t *temp)// Hace el desplazamiento hacia abajo de la figura +void imp_mat(uint8_t *temp) { sendSPI(cont-3,mat_act[cont-3]); sendSPI(cont-2,(*(temp+0) | mat_act[cont-2])); @@ -33,12 +33,12 @@ } void cop_fi (uint8_t* tfig) //Almacena la figura en la matriz temporal { - for(i=0;i<8;i++) + for(int i=0;i<8;i++) { mat_tmp[i]=*(tfig+i)>>dat[1]-1; } -for(i=0;i<8;i++) +for(int i=0;i<8;i++) { mat_tmp1[i]= mat_tmp[i]; } @@ -72,34 +72,19 @@ } } - void analogoo() - { - mx=vrx.read(); - msx=mx*3300; - my=vry.read(); - msy=my*3300; - printf("Datosx = %f",msx); - } + void mover_fig()//mueve la figura por medio de botones { - analogoo(); - int mfig; + analogo(); - if(msx>1800){ - mfig=1;} - if(msy<300){//mover figura a la derecha - mfig=2;} - if(msy>3000){//mover figura a la izquierda - mfig=3;} - - switch(mfig) + if(my>0.8) { - case 1: grad++; - if(grad<5){ + if(grad<5) + { - switch (grad) - { + switch (grad) + { case 1: mat_tmp[0]=mat_tmp1[4]; mat_tmp[1]=mat_tmp1[5]; @@ -120,44 +105,40 @@ mat_tmp[1]=mat_tmp1[1]; mat_tmp[2]=mat_tmp1[2]; break; - } + } } - if(grad>4){ + if(grad>4) + { grad=0; - } - break; - case 2: - int temp1 = mat_tmp[i]&(0x01); - if(temp1==0) - { - for(i=0;i<3;i++) - { - mat_tmp[i]=mat_tmp[i]>>1; //mover derecha - } - for(i=0;i<7;i++){ - mat_tmp1[i]=mat_tmp1[i]>>1; - } - } - break; - case 3: - int temp2 = mat_tmp[i]&(0x80); - if(temp2==0) + } + if(mx<0.3) + { + int temp1 = mat_tmp[i+1]&(0x01); + if(temp1==0) + { + for(int i=0;i<7;i++) { - for(i=0;i<7;i++){ - mat_tmp1[i]=mat_tmp1[i]<<1; - } - for(i=0;i<3;i++) - { - mat_tmp[i]=mat_tmp[i]<<1; //mover izquierda - } - } - break; -} + mat_tmp[i]=mat_tmp[i]>>1; + } + } + } //mover figura a la derecha + + if(mx>0.8) + { + int temp2 = mat_tmp[i+2]&(0x80); + if(temp2==0) + { + for(int i=0;i<7;i++) + { + mat_tmp[i]=mat_tmp[i]<<1; //mover izquierda + } + }//mover figura a la izquierda + } } void act_matrix(uint8_t* temp)//Evalua figura guardada y su espacio { - for (i=0;i<9;i++){ + for (int i=0;i<9;i++){ save=*(temp+2)& mat_act[i]; if (save==0 ) { @@ -179,7 +160,7 @@ }; void elim_lin() { - for(i=0;i<9;i++){ + for(int i=0;i<9;i++){ if(mat_act[i]==255){ for(uint8_t a=i;a>=1;a--){ sendSPI(a,mat_act[a-1]);