Dependencies:   mbed

Fork of matriz by Natalia Garavito

datos.h

Committer:
Mateom0104
Date:
2018-10-17
Revision:
2:d70bfc78f62d
Parent:
1:899567984090

File content as of revision 2:d70bfc78f62d:

#include "mbed.h"
 
uint8_t start[8]={0,0,0,0,0,0,0,0};
int tamano;
uint8_t posicion;
uint8_t posicion_original;
void start0()
{
  int i;
  for (i=0;i<7;i++)
  {
      start[i]=0;
  }
}

void a(uint8_t giro)
{
      start0();
      posicion_original=posicion;
      posicion=7-posicion;
      switch(giro)
      { 
        case 0:
         start[posicion-2]=0b10000000;
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b10000000;
         tamano=3;
        break;
        
        case 1:
         start[posicion-1]=0b01000000;
         start[posicion-0]=0b11100000;
         tamano=2;
        break;
        
        case 2:
         start[posicion-2]=0b01000000;
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b01000000;
         tamano=3;
        break;
        
        case 3:
         start[posicion-1]=0b11100000;
         start[posicion-0]=0b01000000;
         tamano=2;
        break;
        
        default: posicion_original=20;
      } 
}
void b(uint8_t giro)
{
      start0();
      posicion_original=posicion;
      posicion=7-posicion;
      
      switch(giro)
      { 
        case 0:
         start[posicion-0]=0b11100000;
         tamano=1;
        break;
        
        case 1:
         start[posicion-2]=0b10000000;
         start[posicion-1]=0b10000000;
         start[posicion-0]=0b10000000;
         tamano=3;
        break;
        
        case 2:
         start[posicion-0]=0b11100000;
         tamano=3;
        break;
        
        case 3:
         start[posicion-2]=0b10000000;
         start[posicion-1]=0b10000000;
         start[posicion-0]=0b10000000;
         tamano=3;
        break;
 
        default: posicion_original=20;
      }  
}
 
void c(uint8_t giro)
{
      start0();
      posicion_original=posicion;
      posicion=7-posicion;
      switch(giro)
      { 
        case 0:
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b11000000;
         tamano=2;
        break;
        
        case 1:
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b11000000;
         tamano=2;
        break;
        
        case 2:
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b11000000;
         tamano=2;
        break;
        
        case 3:
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b11000000;
         tamano=2;
        break;
        
        default: posicion_original=20;
      } 
}
 
void d(uint8_t giro)
{
      start0();
      posicion_original=posicion;
      posicion=7-posicion;
      switch(giro)
      { 
        case 0:
         start[posicion-1]=0b11100000;
         start[posicion-0]=0b10000000;
         tamano=2;
        break;
        
        case 1:
         start[posicion-2]=0b10000000;
         start[posicion-1]=0b10000000;
         start[posicion-0]=0b11000000;
         tamano=3;
        break;
        
        case 2:
         start[posicion-1]=0b00100000;
         start[posicion-0]=0b11100000;
         tamano=2;
        break;
        
        case 3:
         start[posicion-2]=0b11000000;
         start[posicion-1]=0b01000000;
         start[posicion-0]=0b01000000;
         tamano=3;
        break;
        default: posicion_original=20;
      }      
}
 
void e(uint8_t giro)
{
      start0();
      posicion_original=posicion;
      posicion=7-posicion;
      switch(giro)
      { 
        case 0:
         start[posicion-1]=0b10000000;
         start[posicion-0]=0b11100000;
         tamano=2;
        break;
        
        case 1:
         start[posicion-2]=0b01000000;
         start[posicion-1]=0b01000000;
         start[posicion-0]=0b11000000;
         tamano=3;
        break;        
        
        case 2:
         start[posicion-1]=0b11100000;
         start[posicion-0]=0b00100000;
         tamano=2;
        break;        
        
        case 3:
         start[posicion-2]=0b11000000;
         start[posicion-1]=0b10000000;
         start[posicion-0]=0b10000000;
         tamano=3;
        break;
        
        default: posicion_original=20;
      
      }
}
 
void f (uint8_t giro)
{
      start0();
      posicion_original=posicion;
      posicion=7-posicion;
      switch(giro)
      { 
        case 0:
         start[posicion-2]=0b10000000;
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b01000000;
         tamano=3;
        break;
        
        case 1:
         start[posicion-1]=0b01100000;
         start[posicion-0]=0b11000000;
         tamano=2;
        break;
        
        case 2:
         start[posicion-2]=0b10000000;
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b01000000;
         tamano=3;
        break;
        
        case 3:
         start[posicion-1]=0b01100000;
         start[posicion-0]=0b11000000;
         tamano=2;
        break;
        
        default: posicion_original=20;
      
      }
      
}

void g (uint8_t giro)
{
      start0();
      posicion_original=posicion;
      posicion=7-posicion;
      switch(giro)
      { 
        case 0:
         start[posicion-2]=0b01000000;
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b10000000;
         tamano=3;
        break;
        
        case 1:
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b01100000;
         tamano=2;
        break;
           
        case 2:
         start[posicion-2]=0b01000000;
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b10000000;
         tamano=3;
        break;
        
        case 3:
         start[posicion-1]=0b11000000;
         start[posicion-0]=0b01100000;
         tamano=2;
        break;
        
        default: posicion_original=20;
      
      }
      
}