![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Custom Game Controllers assembled in lab sessions and mounted with Nokia N5110 LCD display and a FRDM-K64F mbed plus various buttons, a joystick, potentiometer and piezo. Designed a game called 'Fruit Basket' to be played on the game controller where the player controls a basket and moves it catch objects that fall from random points along the top of the display to collect score.
Dependencies: Basket Catch_Model Fruit Gamepad N5110 Objects mbed
Project_Submission.cpp
- Committer:
- Nathanj94
- Date:
- 2017-03-21
- Revision:
- 3:69296f999fdf
- Parent:
- 2:ada503e3486f
- Child:
- 4:039294e6a8a5
File content as of revision 3:69296f999fdf:
///////// pre-processor directives //////// #include "mbed.h" #include "Gamepad.h" #include "N5110.h" #include "Catch_Model.h" #define BASKET_Y 41 #define BASKET_WIDTH 12 #define BALL_SPEED 2 /////////////// structs ///////////////// struct UserInput { Direction d; float mag; }; /////////////// objects /////////////// N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11); Gamepad pad; Catch_Model catchm; ///////////// prototypes /////////////// void init(); void update_game(UserInput input); void render(); ///////////// functions //////////////// int main() { int fps = 8; // frames per second init(); render(); // draw initial frame wait(1.0f/fps); // game loop - read input, update the game state and render the display while (1) { catchm.input(pad); catchm.update(lcd, pad); render(); wait(1.0f/fps); } } void init() { // need to initialise LCD and Gamepad lcd.init(); pad.init(); // initialise the game catchm.init(BASKET_Y,BASKET_WIDTH,BALL_SPEED); } void render() { // clear screen, re-draw and refresh lcd.clear(); catchm.draw(lcd); lcd.refresh(); }