![](/media/cache/group/default_image.jpg.50x50_q85.jpg)
Doxygen comments added
Dependencies: mbed Gamepad N5110
Diff: main.cpp
- Revision:
- 14:9a9ac55616c4
- Parent:
- 10:75de0f4da176
- Child:
- 15:fc6b40fceb4f
--- a/main.cpp Wed May 08 21:15:33 2019 +0000 +++ b/main.cpp Thu May 09 10:25:47 2019 +0000 @@ -23,70 +23,90 @@ 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); + 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 + 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); + pipes.draw(lcd); + } + if(xvalue2>2){ + pipes2.init(xvalue2,height2); + pipes2.draw(lcd); + } bird.init(BIRD_X,yaxis); //draw the bird bird.draw(lcd); - //xvalue=xvalue-1; 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<1) { //generates a new pipe - height=pipes.generate_height(); //a new height is generated for the new pipe (i.e. the placement of the gap is different) + 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 (flappy.check_collisions(yaxis,xvalue,height)) { //checking for collisions + } + 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(highscore)) { + if (flappy.check_for_highscore(score,highscore)) { //check if the score was highscore highscore=score;} - flappy.update_highscore(highscore); - while (pad.check_event(Gamepad::START_PRESSED) == false) { + flappy.update_highscore(highscore); //update the highscore + while (pad.check_event(Gamepad::A_PRESSED) == false) { lcd.clear(); - flappy.display_score(lcd,pad); - lcd.refresh(); - wait(0.05); + 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(); } } } - -