Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed
Diff: main.cpp
- Revision:
- 3:5d860d0d589e
- Parent:
- 1:63db7ec60700
- Child:
- 4:2848b366ee3d
--- a/main.cpp Sun Apr 07 05:42:28 2019 +0000 +++ b/main.cpp Tue Apr 09 10:17:24 2019 +0000 @@ -2,15 +2,22 @@ ELEC2645 Embedded Systems Project School of Electronic & Electrical Engineering University of Leeds -Name: -Username: -Student ID Number: -Date: +Name: Caiwenjing Liu +Username:ml16c5l +Student ID Number: 201165261 +Date: 09/04/2019 */ +///////// pre-processor directives //////// #include "mbed.h" #include "Gamepad.h" #include "N5110.h" +//#include "CopterEngine.h" + +#ifdef WITH_TESTING +# include "tests.h" +#endif + /////////////// structs ///////////////// @@ -20,4 +27,72 @@ }; /////////////// objects /////////////// N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); -Gamepad pad; \ No newline at end of file +Gamepad pad; +//CopterEngine copter; + +///////////// prototypes /////////////// +void init(); +void update_game(UserInput input); +void render(); +void welcome(); + +///////////// functions //////////////// +int main() +{ + + + int fps = 8; // frames per second + + init(); // initialise and then display welcome screen... + welcome(); // waiting for the user to start + + render(); // first draw the initial frame + wait(1.0f/fps); // and wait for one frame period + + + // game loop - read input, update the game state and render the display + while (1) { + copter.read_input(pad); + copter.update(pad); + render(); + wait(1.0f/fps); + } +} + +// initialies all classes and libraries +void init() +{ + // need to initialise LCD and Gamepad + lcd.init(); + pad.init(); + + // initialise the game with correct ball and paddle sizes + copter.init(COPTER_WIDTH,COPTER_HEIGHT,WALL_SIZE,COPTER_SPEED); + +} + +// this function draws each frame on the LCD +void render() +{ + // clear screen, re-draw and refresh + lcd.clear(); + copter.draw(lcd); + lcd.refresh(); +} + +// simple splash screen displayed on start-up +void welcome() { + + lcd.printString(" Copter! ",0,1); + lcd.printString(" Press Start ",0,4); + lcd.refresh(); + + // wait flashing LEDs until start button is pressed + while ( pad.check_event(Gamepad::START_PRESSED) == false) { + pad.leds_on(); + wait(0.1); + pad.leds_off(); + wait(0.1); + } + +} \ No newline at end of file