Doxygen comments added

Dependencies:   mbed Gamepad N5110

Committer:
rafeh
Date:
Tue May 07 22:39:48 2019 +0000
Revision:
9:b7a3ec1c7217
Parent:
8:d91564c0f337
Child:
10:75de0f4da176
scoring class

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rafeh 0:43364ffd7cf6 1 /*
rafeh 0:43364ffd7cf6 2 ELEC2645 Embedded Systems Project
rafeh 0:43364ffd7cf6 3 School of Electronic & Electrical Engineering
rafeh 0:43364ffd7cf6 4 University of Leeds
rafeh 0:43364ffd7cf6 5 Name: Rafeh Ishtiaq
rafeh 0:43364ffd7cf6 6 Username: el17ri
rafeh 0:43364ffd7cf6 7 Student ID Number: 201062291
rafeh 0:43364ffd7cf6 8 Date: 20/03/2019
rafeh 0:43364ffd7cf6 9 */
rafeh 0:43364ffd7cf6 10
rafeh 0:43364ffd7cf6 11 #include "mbed.h"
rafeh 0:43364ffd7cf6 12 #include "N5110.h"
rafeh 0:43364ffd7cf6 13 #include "Gamepad.h"
rafeh 3:5409b50b01b0 14 #include "Pipes.h"
rafeh 6:bc580b480ac8 15 #include "Bird.h"
rafeh 7:05f433e196d6 16 #include "Entrance.h"
rafeh 9:b7a3ec1c7217 17 #include "Scoring.h"
rafeh 8:d91564c0f337 18 #define PIPE_WIDTH 8
rafeh 8:d91564c0f337 19 #define BIRD_X 25
rafeh 0:43364ffd7cf6 20 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
rafeh 0:43364ffd7cf6 21 Gamepad pad;
rafeh 6:bc580b480ac8 22 Bird bird;
rafeh 3:5409b50b01b0 23 Pipes pipes;
rafeh 7:05f433e196d6 24 Entrance entrance;
rafeh 9:b7a3ec1c7217 25 Scoring flappy;
rafeh 3:5409b50b01b0 26
rafeh 7:05f433e196d6 27
rafeh 0:43364ffd7cf6 28
rafeh 0:43364ffd7cf6 29
rafeh 5:3a0948f56de0 30 bool check_collisions(int f, int xx, int yy);
rafeh 3:5409b50b01b0 31
rafeh 3:5409b50b01b0 32 int xaxis=25;
rafeh 7:05f433e196d6 33 int yaxis=20; //y position of the bird
rafeh 3:5409b50b01b0 34
rafeh 0:43364ffd7cf6 35 int main() {
rafeh 0:43364ffd7cf6 36 lcd.init();
rafeh 0:43364ffd7cf6 37 pad.init();
rafeh 0:43364ffd7cf6 38 lcd.clear();
rafeh 1:beceda7046fb 39 lcd.setContrast(0.5);
rafeh 7:05f433e196d6 40 entrance.welcome_page(lcd,pad);
rafeh 2:9f5714571c41 41 if (pad.check_event(Gamepad::START_PRESSED) == false) {
rafeh 2:9f5714571c41 42 lcd.clear();
rafeh 2:9f5714571c41 43
rafeh 3:5409b50b01b0 44 int xvalue=84;
rafeh 7:05f433e196d6 45 int height = pipes.generate_height();
rafeh 3:5409b50b01b0 46 int score = 0;
rafeh 7:05f433e196d6 47 int highscore = 0;
rafeh 3:5409b50b01b0 48 char scoredisplay[3];
rafeh 2:9f5714571c41 49 while(1) {
rafeh 7:05f433e196d6 50 lcd.drawRect(0,45,84,3,FILL_BLACK); //draw the floor
rafeh 3:5409b50b01b0 51
rafeh 7:05f433e196d6 52 pipes.init(xvalue,height); // draw the pipes
rafeh 3:5409b50b01b0 53 pipes.draw(lcd);
rafeh 7:05f433e196d6 54 //xvalue=xvalue-1;
rafeh 7:05f433e196d6 55 sprintf(scoredisplay,"%d",score);
rafeh 7:05f433e196d6 56 lcd.printString(scoredisplay,60,0); //display the score on the up right
rafeh 8:d91564c0f337 57
rafeh 8:d91564c0f337 58 flappy.get_score(score);
rafeh 8:d91564c0f337 59 score=flappy.add_score(score,xvalue,BIRD_X,PIPE_WIDTH);
rafeh 3:5409b50b01b0 60
rafeh 3:5409b50b01b0 61 if(xvalue<1) {
rafeh 7:05f433e196d6 62 height=pipes.generate_height();
rafeh 3:5409b50b01b0 63 xvalue=84;
rafeh 3:5409b50b01b0 64 }
rafeh 3:5409b50b01b0 65
rafeh 7:05f433e196d6 66
rafeh 6:bc580b480ac8 67 bird.init(xaxis,yaxis);
rafeh 6:bc580b480ac8 68 bird.draw(lcd);
rafeh 6:bc580b480ac8 69 yaxis=bird.get_position(yaxis,pad);
rafeh 3:5409b50b01b0 70 wait(0.075);
rafeh 7:05f433e196d6 71 xvalue=xvalue-2;
rafeh 5:3a0948f56de0 72 if (check_collisions(yaxis,xvalue,height)) {
rafeh 5:3a0948f56de0 73 wait(1);
rafeh 7:05f433e196d6 74 if (flappy.check_for_highscore(highscore)) {
rafeh 7:05f433e196d6 75 highscore=score;}
rafeh 7:05f433e196d6 76 flappy.update_highscore(highscore);
rafeh 7:05f433e196d6 77 flappy.display_score(lcd,pad);
rafeh 7:05f433e196d6 78 score=0;
rafeh 5:3a0948f56de0 79 }
rafeh 2:9f5714571c41 80 lcd.refresh();
rafeh 2:9f5714571c41 81 lcd.clear();
rafeh 2:9f5714571c41 82 }
rafeh 2:9f5714571c41 83 }
rafeh 3:5409b50b01b0 84
rafeh 3:5409b50b01b0 85
rafeh 2:9f5714571c41 86 }
rafeh 0:43364ffd7cf6 87
rafeh 2:9f5714571c41 88
rafeh 5:3a0948f56de0 89 bool check_collisions(int f, int xx, int yy) {
rafeh 7:05f433e196d6 90 if((xx>17 && xx<32)&&((f<(yy-3)) || (f>(yy+26))) || (f>45))
rafeh 5:3a0948f56de0 91 return true;
rafeh 5:3a0948f56de0 92 else
rafeh 5:3a0948f56de0 93 return false;
rafeh 5:3a0948f56de0 94 }
rafeh 5:3a0948f56de0 95
rafeh 7:05f433e196d6 96
rafeh 3:5409b50b01b0 97
rafeh 3:5409b50b01b0 98