Implement basic functions

Dependencies:   mbed N5110

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "N5110.h"
00003 #include "Gamepad.h"
00004 #include "Begin.h"
00005 
00006 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
00007 Gamepad pad;
00008 Begin beg;
00009 
00010 void init();
00011 void welcome();
00012 void loading();
00013 void game();
00014 
00015 int main() {
00016     while(1){
00017         init();
00018         welcome();
00019         loading();
00020         while(pad.check_event(Gamepad::BACK_PRESSED) == false)  {
00021             game();
00022         }
00023     }
00024 }
00025 
00026 void init() {
00027     lcd.init();
00028     pad.init();
00029     beg.init();
00030     }
00031     
00032 void welcome() {
00033     lcd.clear();
00034     lcd.printString("  FlappyBird! ",0,1);  
00035     lcd.printString("  Press Start ",0,4);
00036     lcd.refresh();
00037      
00038     // wait flashing LEDs until start button is pressed 
00039     while ( pad.check_event(Gamepad::START_PRESSED) == false) {
00040         pad.leds_on();
00041         wait(0.1);
00042         pad.leds_off();
00043         wait(0.1);
00044     }
00045  
00046 }
00047 
00048 void loading(){
00049     lcd.clear();
00050     lcd.printString("   READY!!!     ",0,3);
00051     lcd.refresh();
00052     wait_ms(500);
00053     lcd.clear();
00054     lcd.printString("     3     ",0,3);
00055     lcd.refresh();
00056     wait_ms(500);
00057     lcd.clear();
00058     lcd.printString("     2     ",0,3);
00059     lcd.refresh();
00060     wait_ms(500);
00061     lcd.clear();
00062     lcd.printString("     1     ",0,3);
00063     lcd.refresh();
00064     wait_ms(500);
00065     lcd.clear();
00066     lcd.printString("     GO!!!     ",0,3);
00067     lcd.refresh();
00068     wait_ms(500);
00069 }
00070 
00071 void game()
00072 {
00073     lcd.clear();
00074     int d = beg.draw(lcd, pad);
00075     if(d == 1) {
00076         while(1) {
00077             init();
00078             welcome();
00079             loading();
00080             while(pad.check_event(Gamepad::BACK_PRESSED) == false)  {
00081                 game();
00082             }
00083         }
00084     }
00085     lcd.refresh();
00086     wait(0.5);
00087 }