ELEC2645 (2018/19) / Mbed 2 deprecated el17mtu_

Dependencies:   mbed

ModeA/ModeA.cpp

Committer:
el17mtu
Date:
2019-05-08
Revision:
10:1c3bdbf2fe9f
Parent:
9:571f92b0211b
Child:
11:e29b173ccb27

File content as of revision 10:1c3bdbf2fe9f:

#include "ModeA.h"

ModeA::ModeA()
{

}

ModeA::~ModeA()
{

}

void ModeA::screen(N5110 &lcd)
{

    lcd.clear();
    lcd.printString("GAME",0,0);
    lcd.printString("Back:Rules",0,2);
    
    };
    
 void ModeA::initialise(N5110 &lcd)
 {
    //variables for the square
    x_position = 12;
    y_position = 18;
    speed = 0;
    gravity = 1;
    //variables for the bar
    screen_width = 80;
    bar_width = 10;
    bar_speed = 2;
    
   //score = 1;
    
    //generating random sizes of the bar 
    srand(time(NULL));
    size_top = rand() % 15;
    srand(time(NULL));
    size_bottom = rand() % 15; 
   
     
 }
   
void ModeA::Bird(N5110 &lcd) 
      
{
   
  
    lcd.drawRect(x_position, y_position,6,6,FILL_BLACK);
     //lcd.drawRect(screen_width,0,bar_width,size_top,FILL_BLACK);
     //lcd.drawRect(screen_width,48-size_bottom,bar_width,size_bottom,FILL_BLACK);
    lcd.refresh();
    

               
       if ( pad.check_event(Gamepad::Y_PRESSED) == true) {
          
           speed = speed - gravity*5;
          
        }
        
        if (y_position > 48) {
               
                lcd.clear();
          lcd.printString("GAME OVER",6,2);
          lcd.printString("Press BACK",6,4);
          pad.tone(2000.0,0.3);
          lcd.refresh();
          bar_speed = 0;
          speed = 0;
          gravity = 0;
          y_position = 48;
          bar_width = 0;
          size_top = 0;
          size_bottom = 0;
          
          wait(0.5);
                
                }
                
              
        
       if (y_position < 0) {
                y_position = 0;
                speed = 0;
                }
        
         speed = speed + gravity;
        y_position = y_position + speed;
        wait(0.1);
        
        
     lcd.drawRect(screen_width,0,bar_width,size_top,FILL_BLACK);
   lcd.drawRect(screen_width,48-size_bottom,bar_width,size_bottom,FILL_BLACK);
   lcd.refresh();
        
     //   if (screen_width > 50) {
    //         srand(time(NULL));
    //    size_top = rand() % 48;
     //   srand(time(NULL));
     //   size_bottom = rand() % 48;
           //  bar_width = 50;
            //   bar_speed = 0;
   //            }
        
    //  if (screen_width == 5) {
     //    srand(time(NULL));
     //   size_top = rand() % 15;
     //  srand(time(NULL));
     //   size_bottom = rand() % 15;
      //         }
    //             if (screen_width == 11) {
      //   lcd.clear();
      //    lcd.printString("GAME OVER",6,2);
      //    lcd.printString("Press BACK",6,4);
      //    pad.tone(2000.0,0.3);
        //  lcd.refresh();
       //   bar_speed = 0;
       //   speed = 0;
       //   gravity = 0;
       //   y_position = 48;
       //   bar_width = 0;
      //    size_top = 0;
      //    size_bottom = 0;
          
          
          
      //    wait(0.5);
        //       }
               
               
      if ( pad.check_event(Gamepad::X_PRESSED) == true) {
          
            srand(time(NULL));
        size_top = rand() % 15;
       srand(time(NULL));
       size_bottom = rand() % 15; 
          
        }
        
        if ((screen_width ==  x_position)&& (size_top >  y_position))  {
              // size_top >  y_position
           //    screen_width ==  x_position
               lcd.clear();
       lcd.printString("GAME OVER",6,2);
        lcd.printString("Press BACK",6,4);
          pad.tone(2000.0,0.3);
         lcd.refresh();
        bar_speed = 0;
         speed = 0;
        gravity = 0;
        y_position = 48;
         bar_width = 0;
         size_top = 0;
        size_bottom = 0;
        
          
          
          
         wait(0.5);
               
            
                
                }
                   
                   
               
               
        //       if ((screen_width ==  x_position)&& (size_bottom <  (y_position - 6)))  {
   //        
   //    lcd.printString("GAME OVER",6,2);
   //    lcd.printString("Press BACK",6,4);
   //       pad.tone(2000.0,0.3);
   //      lcd.refresh();
   //    bar_speed = 0;
   //      speed = 0;
   //   gravity = 0;
   //     y_position = 48;
   //     bar_width = 0;
    //     size_top = 0;
     //   size_bottom = 0;
        
          
          
     //    
     //   wait(0.5);
               
      //      }
            
           if ((screen_width ==  x_position)&& (size_top <  y_position)) {
              score = 1;
              lcd.clear();
               char buffer[14]; 
         sprintf(buffer,"% .2f ", score);
          lcd.printString(buffer,2,2);
          lcd.printString("Score =",1,1);
          lcd.refresh(); 
          wait(1.0);
                
               }
   //  if ((screen_width ==  x_position)&& (size_bottom <  (y_position - 6))) {
      
   //   }
      
      screen_width = screen_width - bar_speed;
     
      wait(0.1);
      
     
    
    }