Mateo Morales / Mbed 2 deprecated Tetris_3

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers Movimiento.h Source File

Movimiento.h

00001 #include "mbed.h"
00002 
00003 int mascarax;
00004 int limited=0;
00005 int limitei=0;
00006 void borrarfantasma (void)
00007 {
00008   int i;
00009   for(i=0;i<tamano;i++)
00010    screen[posicion-i]=screen[posicion-i] & ((mascara)-1);      
00011 }    
00012 
00013 
00014 void pmenos(void)
00015 {
00016     
00017     if(limitei==0)
00018     {
00019     posicion_original=posicion_original-1;// determina hasta donde se mueve si chocar en la pared// cambiar en derecha
00020     pc.printf("Posicion original  %d\n",posicion_original);
00021     }
00022     
00023     
00024   if(((posicion_original+tamano) <= 8 && (posicion_original-1) >= -1  ) && ((screen[posicion+1] & (~(mascara-1))) == 0))
00025     {
00026       verificacion=1;
00027        pc.printf("Verificacion %d\n",verificacion);
00028      
00029     }
00030     else
00031     {
00032         verificacion=0;
00033         velocidad= rapido;
00034         pc.printf("Verificacion %d\n",verificacion);
00035         limitei=1;
00036      }
00037      
00038     if (verificacion==1)
00039      {   
00040        borrarfantasma();
00041        mascarax=mascara;
00042        velocidad= 0;
00043        limitei=0;
00044      }
00045 } 
00046 
00047 void pmas(void)
00048 {
00049     
00050     if(limited==0)
00051     {
00052     posicion_original=posicion_original+1;// determina hasta donde se mueve si chocar en la pared
00053     pc.printf("Posicion original  %d\n",posicion_original);
00054     pc.printf("Tamano  %d\n",tamano);
00055     }
00056     
00057   if(((posicion_original+tamano) <= 8 && (posicion_original-1) >= -1  ) && ((screen[posicion-(tamano)] & (~(mascara-1))) == 0))
00058     {
00059       verificacion=1;
00060        pc.printf("Verificacion %d\n",verificacion);
00061     }
00062     else
00063     {
00064         verificacion=0;
00065         velocidad= rapido;
00066         pc.printf("Verificacion %d\n",verificacion);
00067         limited=1;
00068      }
00069      pc.printf("Screen en -1 %d\n",screen[posicion-(tamano)]);
00070 
00071     if (verificacion==1)
00072      {   
00073        borrarfantasma();
00074        mascarax=mascara;
00075        velocidad= 0;
00076        limited=0;
00077      }
00078         
00079 }   
00080 
00081 
00082 
00083 
00084 void giro90(void)
00085 {
00086  giro=giro+1;
00087  
00088  if(giro>3)
00089  giro=0;   
00090     
00091     
00092 }
00093 
00094 
00095 
00096 
00097 
00098 void giros(void)
00099 {
00100   int i;
00101  
00102  if(tamano>tamano2)
00103  {
00104  borrarfantasma();
00105  verificacion=1;
00106  tamano=tamano2;
00107  mascarax=mascara;
00108  velocidad= 0;
00109  giro90();
00110  }
00111  else if (tamano<tamano2)
00112  {
00113      for(i=(tamano+1);i<=tamano2;i++)
00114      {
00115          
00116        if (((posicion_original+tamano2) <= 8 ) && ((screen[posicion-(i)] & (~(mascara-1))) == 0))
00117        {
00118           verificacion=1;
00119           tamano=tamano2;
00120           borrarfantasma();
00121           velocidad= 0;
00122           giro90();
00123           mascarax=mascara;
00124           break;
00125        }  
00126        else
00127        {
00128         verificacion=0;   
00129        }      
00130      
00131      
00132      }
00133  }
00134  else // miden lo mismo
00135  {
00136  verificacion=1;
00137  tamano=tamano2;
00138  borrarfantasma();
00139  velocidad= 0;
00140  mascarax=mascara;
00141  giro90();
00142  }   
00143  
00144   
00145      
00146      
00147  }
00148  
00149