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:
- 0:fd8eda608206
- Child:
- 1:f09ff0ed98fd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Wed May 08 18:50:21 2019 +0000 @@ -0,0 +1,82 @@ +/* +ELEC2645 Embedded Systems Project +School of Electronic & Electrical Engineering +University of Leeds +Name: Siuting Wong +Username: Siuting Wong +Student ID Number: 201186503 +Date: 06/05/2019 +*/ +///////// pre-processor directives //////// +#include "mbed.h" +#include "Gamepad.h" +#include "N5110.h" +#include "Engine.h" + +#define WALL_WIDTH 2 +#define WALL_GAP 8 +#define AVENGER_SIZE 2 +#define STONE_SIZE 1 +#define SPEED 3 + +/////////////// structs ///////////////// +struct UserInput { + Direction d; + float mag; +}; +/////////////// objects /////////////// +N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); +Gamepad pad; +Engine eng; + +///////////// prototypes /////////////// +void init(); +void update_game(UserInput input); +void render(); +void welcome(); + + +///////////// functions //////////////// +int main() { + int fps = 8; + + init(); // initialise and then display welcome screen... + welcome(); + render(); + wait(1.0f/fps); // and wait for one frame period + + while (1) { + eng.read_input(pad); + eng.update(pad); + render(); + wait(1.0f/fps); + } +} + +void init() { + + // need to initialise LCD and Gamepad + lcd.init(); + pad.init(); + + // initialise the game with correct ball and paddle sizes + eng.init(WALL_WIDTH,WALL_HEIGHT,AVENGER_SIZE,STONE_SIZE,SPEED); +} + +void welcome() { + + while ( pad.check_event(Gamepad::START_PRESSED) == false) { + lcd.clear(); + lcd.printString("Eternity Stone",0,1); + lcd.refresh(); + wait(0.1); + } +} + +void render() { + + // clear screen, re-draw and refresh + lcd.clear(); + eng.draw(lcd); + lcd.refresh(); +} \ No newline at end of file