BASIC MARIO

Dual Color Led Matrix Code

#include "mbed.h"

BusOut row(p5,p6,p7,p8,p9,p10,p11,p12);//defines pins of led matrix to control rows
//BusOut orange(p21,p22,p23,p24,p25);
BusOut green(p26,p27,p28,p29,p30);
DigitalOut m1(p21);
DigitalOut m2(p22);
DigitalOut m3(p23);
DigitalOut m4(p24);
DigitalOut m5(p25);
DigitalIn sw1(p18);
DigitalIn sw2(p15);
DigitalIn sw3(p16);
DigitalIn sw4(p17);
Serial gserial(p13,p14);//serially input and output from pin p13, p14.
Timer t;//timer variable to get time of game
float sc;
int i,a=0,j,k,l,n,q,y=0,m=0;
char b;
char arr1[]={0x00,0x01,0x03,0x06,0x0c,0x18,0x30,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//controlling 1st pattern of led matrix
char arr2[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x06,0x0c,0x18,0x30,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//controlling 2nd pattern of led matrix
char arr3[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x06,0x0c,0x18,0x30,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//controlling 3rd pattern of led matrix
char arr4[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//controlling 4th pattern of led matrix
char arr5[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//controlling 5th pattern of led matrix
char arr6[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x06,0x0c,0x18,0x30,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};//controlling 6th pattern of led matrix
char arr7[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00,0x00,0x00};//controlling 7th pattern of led matrix
char arr8[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00,0x00,0x00};//controlling 8th pattern of led matrix
char arr9[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,0x00,0x00};//controlling 9th pattern of led matrix
char arr10[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};//controlling 10th pattern of led matrix
void delay(int x)// to calculate delay
     { 
      for(i=0;i<=x;i++);
     }   
 void end()
   {
    
    while(1)
   {
    green=0x00;
    row=0xff;
    m1=m2=m3=m4=m5=0;
    
   }
   } 

int main()
{ 
 m1=1;
 m2=1;
 m3=1;
 m4=1;
 m5=1; 
while(1)
{
   
  for(a=0;a<=42;a++)
 {  
  
    
    if (sw1==1)//for 1st jump
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(1000);
    m2=1;
    }
    
   else if (sw2==1)//for second jump
    {
    green=0xff;
    row=0x20;
    m3=0;
    delay(1000);
    m3=1;
    }
   else if (sw3==1)//for 3rd jump
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(1000);
    m4=1;
    }
    
   else if (sw4==1)//for 4th jump
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(1000);
    m5=1;
    }
    else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(1000);
    m1=1;
    }
    
 for(l=0;l<=13;l++)
 {  
   
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(1000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(1000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(1000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(1000);
    m5=1;
    }
    else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(1000);
    m1=1;
    }
    
 
   if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(1000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(1000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(1000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(1000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(1000);
    m1=1;
    
    }
     
    green=0xf8;
      b=0xf8;
      row=arr1[a];
      delay(32000);
      t.start();//to start timer
      if((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))
      {
      if ((arr1[a]==0x30)||(arr1[a]==0x60)) 
      {
        t.stop();//calculate time
        sc=t.read();
        sc=sc*10;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }}
      if(sw1==1)
      { 
      if (((arr1[a]==0x30)||(arr1[a]==0x60))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)))
      { 
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
         }
      }
      if(sw2==1)
      { 
      if (((arr1[a]==0x30)||(arr1[a]==0x60)) && ((b==0xf8) || (b==0xf0) || (b ==0xe0)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }}
      if(sw3==1)
      { 
      if (((arr1[a]==0x30)|| (arr1[a]==0x60))  && (( b==0xf0) || (b ==0xe0)))
      {
          t.stop();
        sc=t.read();
        sc=sc*100;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }} 
      
  
    
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(1000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(1000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(1000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(1000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(1000);
    m1=1;
    }
    
      green=0x01;
      b=0x01;
      row=arr2[a];
      delay(32500);
      
      if (sw4==1)
      {
      if ((arr2[a]==0x30)||(arr2[a]==0x60))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }} 
      if (sw1==1)
      {
      if (((arr2[a]==0x30)||(arr2[a]==0x60))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)||(b==0x01)))
      {
       t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
          }
      } 
      if(sw2==1)
      {
      if (((arr2[a]==0x30) || (arr2[a]==0x60)) && ((b==0xf8) || (b==0xf0) || (b==0xe0)||(b==0x01)||(b==0x02)))
      {
        t.stop();
        sc=t.read();
        sc=sc*100;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }
      } 
      if(sw3==1)
      {
      if (((arr2[a]==0x30)||(arr2[a]==0x60))&&((b==0xf0)||(b==0xe0)||(b==0x01)||(b==0x02)))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }
      } 
 
    
   if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(17000);
    m2=1; 
   }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(17000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(17000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(17000);
    m5=1;
    }
     else 
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(17000);
    m1=1;
    }
    
      green=0xe6;
      b=0xe6;
      row=arr3[a];
      delay(32500);
      if ((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))
      {
      if ((arr3[a]==0x30)||(arr3[a]==0x60))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }} 
      if(sw1==1)
      {
      if (((arr3[a]==0x30) || (arr3[a]==0x60)) && ((b==0xfc) || (b==0xf8) || (b==0xf0) || (b==0xe0)))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }}
      if(sw2==1)
      { 
      if ((( arr3[a]==0x30) || (arr3[a]==0x60))  && ( (b==0xf8) || (b==0xf0) || (b ==0xe0)))
      {   
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }}
      if(sw3==1)
      { 
      if (((arr3[a]==0x30)||(arr3[a]==0x60)) &&(( b==0xf0)||(b ==0xe6)))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }}
      if(sw4==1)
      {
      if ((arr3[a]==0x30) || (arr3[a]==0x60))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );//serially transmit data
         end();
      }
      } 
      
      
    
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(17000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(17000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(17000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(17000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(17000);
    m1=1;
    }
    
      green=0xf8;
      b=0xf8;
      row=arr4[a];
      delay(32500);
      if ((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))//serially transmit data
      {
      if ((arr4[a]==0x30) || (arr4[a]==0x60)||(arr4[a]==0x20))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      } }
      if (sw1==1)
      {
      if (((arr4[a]==0x30)||(arr4[a]==0x60)||(arr4[a]==0x20))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
          }
      } 
      if(sw2==1)
      {
      if (((arr4[a]==0x30) || (arr4[a]==0x60)||(arr4[a]==0x20)) && ((b==0xf8) || (b==0xf0) || (b==0xe0)))
      {   
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw3==1)
      {
      if (((arr4[a]==0x30)||(arr4[a]==0x60)||(arr4[a]==0x20))&&((b==0xf0)||(b==0xe0)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
    
    
    
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(17000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(17000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(17000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(17000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(17000);
    m1=1;
    }
    
      green=0xe4;
      b=0xe4;
      row=arr5[a];
      delay(32500);
      if  ((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))
      {
      if ((arr5[a]==0x30) || (arr5[a]==0x60)||(arr5[a]==0x20))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      } }
      if (sw1==1)
      {
      if (((arr5[a]==0x30)||(arr5[a]==0x60)||(arr5[a]==0x20))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)||(b==0xe4)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
          }
      } 
      if(sw2==1)
      {
      if (((arr5[a]==0x30) || (arr5[a]==0x60)||(arr5[a]==0x20)) && ((b==0xf8) || (b==0xf0) || (b==0xe0)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw3==1)
      {
      if (((arr5[a]==0x30)||(arr5[a]==0x60)||(arr5[a]==0x20))&&((b==0xf0)||(b==0xe0)||(b==0xe4)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw4==1)
      {
      if ((arr5[a]==0x30) || (arr5[a]==0x60)||(arr5[a]==0x20))
      { 
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
    
    
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(17000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(17000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(17000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(17000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(17000);
    m1=1;
    }
    
      green=0x02;
      b=0x02;
      row=arr6[a];
      delay(32500);
      if ((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))
      {
      if ((arr6[a]==0x30)||(arr6[a]==0x60))
      { 
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }} 
      if (sw4==1)
      {
      if ((arr6[a]==0x30)||(arr6[a]==0x60))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }} 
      if (sw1==1)
      {
      if (((arr6[a]==0x30)||(arr6[a]==0x60))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)||(b==0x01)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
          }
      } 
      if(sw2==1)
      {
      if (((arr6[a]==0x30) || (arr6[a]==0x60)) && ((b==0xf8) || (b==0xf0) || (b==0xe0)||(b==0x01)||(b==0x02)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw3==1)
      {
      if (((arr6[a]==0x30)||(arr6[a]==0x60))&&((b==0xf0)||(b==0xe0)||(b==0x01)||(b==0x02)))
      {
          t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
    
    
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(17000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(17000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(17000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(17000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(17000);
    m1=1;
    }
    
      green=0xe8;
      b=0xe8;
      row=arr7[a];
      delay(32500);
      if  ((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))
      {
      if ((arr7[a]==0x30) || (arr7[a]==0x60)||(arr7[a]==0x20))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      } }
      if (sw1==1)
      {
      if (((arr7[a]==0x30)||(arr7[a]==0x60)||(arr7[a]==0x20))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)||(b==0xe8)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
          }
      } 
      if(sw2==1)
      {
      if (((arr7[a]==0x30) || (arr7[a]==0x60)||(arr7[a]==0x20)) && ((b==0xf8) || (b==0xf0) || (b==0xe0)||(b==0xe8)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw3==1)
      {
      if (((arr7[a]==0x30)||(arr7[a]==0x60)||(arr7[a]==0x20))&&((b==0xf0)||(b==0xe0)||(b==0xe4)))
      {
          t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw4==1)
      {
      if ((arr7[a]==0x30) || (arr7[a]==0x60)||(arr7[a]==0x20))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
    
    
    
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(17000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(17000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(17000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(17000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(17000);
    m1=1;
    }
    
      green=0xe2;
      b=0xe2;
      row=arr8[a];
      delay(32500);
      if  ((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))
      {
      if ((arr8[a]==0x30) || (arr8[a]==0x60)||(arr8[a]==0x20))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      } }
      if (sw1==1)
      {
      if (((arr8[a]==0x30)||(arr8[a]==0x60)||(arr8[a]==0x20))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)||(b==0xe8)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
          }
      } 
      if(sw2==1)
      {
      if (((arr8[a]==0x30) || (arr8[a]==0x60)||(arr8[a]==0x20)) && ((b==0xf8) || (b==0xf0) || (b==0xe0)||(b==0xe2)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw3==1)
      {
      if (((arr8[a]==0x30)||(arr8[a]==0x60)||(arr8[a]==0x20))&&((b==0xf0)||(b==0xe0)||(b==0xe2)))
      {
          t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw4==1)
      {
      if ((arr8[a]==0x30) || (arr8[a]==0x60)||(arr8[a]==0x20))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
   
    
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(17000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(17000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(17000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(17000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(17000);
    m1=1;
    }
    
      green=0xe4;
      b=0xe4;
      row=arr9[a];
      delay(32500);
      if  ((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))
      {
      if ((arr9[a]==0x30) || (arr9[a]==0x60)||(arr9[a]==0x20))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      } }
      if (sw1==1)
      {
      if (((arr9[a]==0x30)||(arr9[a]==0x60)||(arr9[a]==0x20))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)||(b==0xe4)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
          }
      } 
      if(sw2==1)
      {
      if (((arr9[a]==0x30) || (arr9[a]==0x60)||(arr9[a]==0x20)) && ((b==0xf8) || (b==0xf0) || (b==0xe0)||(b==0xe8)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw3==1)
      {
      if (((arr9[a]==0x30)||(arr9[a]==0x60)||(arr9[a]==0x20))&&((b==0xf0)||(b==0xe0)||(b==0xe4)))
      {
          t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw4==1)
      {
      if ((arr9[a]==0x30) || (arr9[a]==0x60)||(arr9[a]==0x20))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
    
    
    if (sw1==1)
    {
    green=0xff;
    row=0x20;
    m2=0;
    delay(17000);
    m2=1;
    }
   else if (sw2==1)
    { 
    green=0xff;
    row=0x20;
    m3=0;
    delay(17000);
    m3=1;
    }
    
   else if (sw3==1)
    { 
    green=0xff;
    row=0x20;
    m4=0;
    delay(17000);
    m4=1;
    }
    
   else if (sw4==1)
    { 
    green=0xff;
    row=0x20;
    m5=0;
    delay(17000);
    m5=1;
    }
     else
    { 
    green=0xff;
    row=0x20;
    m1=0;
    delay(17000);
    m1=1;
    }
    
      green=0xea;
      b=0xea;
      row=arr10[a];
      delay(32500);
      if  ((sw1==0)&&(sw2==0)&&(sw3==0)&&(sw4==0))
      {
      if ((arr10[a]==0x30) || (arr10[a]==0x60)||(arr10[a]==0x20))
      {
        t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      } }
      if (sw1==1)
      {
      if (((arr10[a]==0x30)||(arr10[a]==0x60)||(arr10[a]==0x20))&&((b==0xfc)||(b==0xf8)||(b==0xf0)||(b==0xe0)||(b==0xe8)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
          }
      } 
      if(sw2==1)
      {
      if (((arr10[a]==0x30) || (arr10[a]==0x60)||(arr10[a]==0x20)) && ((b==0xf8) || (b==0xf0) || (b==0xea)||(b==0xe8)))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw3==1)
      {
      if (((arr10[a]==0x30)||(arr10[a]==0x60)||(arr10[a]==0x20))&&((b==0xf0)||(b==0xe0)||(b==0xe4)))
      {
          t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
      if(sw4==1)
      {
      if ((arr10[a]==0x30) || (arr10[a]==0x60)||(arr10[a]==0x20))
      {
         t.stop();
        sc=t.read();
        sc=sc*10000;
        gserial.printf( "%f\n", sc );
         end();
      }
      } 
    
  }
 }
 }
 a=0;
} 

Code for Displaying score on LCD

#include "mbed.h"
#include "TextLCD.h"
Serial gserial(p13,p14);
TextLCD lcd(p15, p16, p17, p18, p19, p20);  // RS, E, DB4, DB5, DB6, DB7
Timer t;
char y[7];
int main() {
     gserial.baud(9600);
     lcd.printf("WELCOME TO MARIO");//prints following contents
     
        gserial.gets(y,6);//receives data from microcontroler
        lcd.locate(0,0);  
        lcd.printf("your score is %s",y);//displays time of game
        wait(10);
       lcd.locate(0,0);
       lcd.printf("   TO PLAY      ");//prints following contents
       lcd.locate(0,1);
        lcd.printf(" PLEASE RESET   ");//prints following contents
       
    }


Please log in to post comments.