Doxygen comments added

Dependencies:   mbed Gamepad N5110

main.cpp

Committer:
rafeh
Date:
2019-05-09
Revision:
14:9a9ac55616c4
Parent:
10:75de0f4da176
Child:
15:fc6b40fceb4f

File content as of revision 14:9a9ac55616c4:

/*
ELEC2645 Embedded Systems Project
School of Electronic & Electrical Engineering
University of Leeds
Name: Rafeh Ishtiaq
Username: el17ri
Student ID Number: 201062291
Date: 20/03/2019
*/

#include "mbed.h"
#include "N5110.h"
#include "Gamepad.h"
#include "Pipes.h"
#include "Bird.h"
#include "Entrance.h"
#include "Scoring.h"
#define PIPE_WIDTH 8
#define BIRD_X 25
N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
Gamepad pad;
Bird bird;
Pipes pipes;
Entrance entrance;
Scoring flappy;
Pipes pipes2;
float cont = pad.read_pot();
int yaxis=20; //y position of the bird

int main() {
    lcd.init();
    pad.init();
    lcd.clear();
    lcd.setContrast(0.5);
   entrance.welcome_page(lcd,pad); 
   if (pad.check_event(Gamepad::START_PRESSED) == false) {
       lcd.clear();
       
       int xvalue=84;   //initialising the x value of the pipes
       int xvalue2=0;
       int height = pipes.generate_height(); //initialising the height of the top pipe
       int height2=0;
    int score = 0;
    int highscore = 0;
    char scoredisplay[3]; //to display score
   while(1) {
    
    pad.tone(5000,0.2);
    lcd.drawRect(0,45,84,3,FILL_BLACK); //draw the floor
    if(xvalue>2) {
      pipes.init(xvalue,height); // draw the pipes
      pipes.draw(lcd); 
      }
      if(xvalue2>2){ 
      pipes2.init(xvalue2,height2);
      pipes2.draw(lcd); 
      }
      bird.init(BIRD_X,yaxis); //draw the bird
      bird.draw(lcd);
      sprintf(scoredisplay,"%d",score); 
      lcd.printString(scoredisplay,60,0); //display the score on the top right
        
        flappy.set_score(score);
         score=flappy.add_score(score,xvalue,BIRD_X,PIPE_WIDTH); //add score if the pipe has gone further left of the bird
         score=flappy.add_score(score,xvalue2,BIRD_X,PIPE_WIDTH);
         
      if(xvalue<25 && xvalue >23) {   //generates a new pipe 
          height2=pipes.generate_height();   //a new height is generated for the new pipe (i.e. the placement of the gap is different)
          xvalue2=84;
          }
         if(xvalue<25 && xvalue >23) {   //generates a new pipe 
          height2=pipes.generate_height();   //a new height is generated for the new pipe (i.e. the placement of the gap is different)
          xvalue2=84;
          }
     if(xvalue2<25 && xvalue2>23) {
          height=pipes.generate_height();
          xvalue=84;
          }                 
          
    
       wait(0.075);
       yaxis=bird.get_position(yaxis,pad); //gets new vertical position for the bird
       if(xvalue>2) {
       xvalue=xvalue-2; //moves the pipes towards the left
       }
       if(xvalue2>2) {
       xvalue2=xvalue2-2;
       }
if ((flappy.check_collisions(yaxis,xvalue,height))||(flappy.check_collisions(yaxis,xvalue2,height2))) { //checking for collisions
       wait(1);
       if (flappy.check_for_highscore(score,highscore)) {    //check if the score was highscore
           highscore=score;} 
        flappy.update_highscore(highscore);    //update the highscore
      while (pad.check_event(Gamepad::A_PRESSED) == false) {
       lcd.clear();
       flappy.display_score(lcd,pad);      //
       if(pad.check_event(Gamepad::START_PRESSED) == false) { break;}
       }
       score=0;
       xvalue=84;
       yaxis=20;
       xvalue2=0;
       lcd.refresh();
       }
   lcd.refresh();
   lcd.clear();
   }
       }
       }