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
diff -r ebfb091d5b63 -r 15facba8b8b4 funcion_matriz.h
--- 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]);