ELEC2645 (2018/19) / Mbed 2 deprecated el17lw

Dependencies:   mbed

Committer:
lewisgw
Date:
Sun Mar 17 14:45:37 2019 +0000
Revision:
5:eda40cdde3e7
Parent:
4:ce4eea1c2a28
Child:
6:8741d2011692
Same functionality as last commit, but now organised with a game engine class to process inputs and outputs

Who changed what in which revision?

UserRevisionLine numberNew contents of line
lewisgw 0:d74302f8f847 1 /*
lewisgw 0:d74302f8f847 2 ELEC2645 Embedded Systems Project
lewisgw 0:d74302f8f847 3 School of Electronic & Electrical Engineering University of Leeds
lewisgw 0:d74302f8f847 4 Name: Lewis Wooltorton
lewisgw 0:d74302f8f847 5 Username: el17lw
lewisgw 0:d74302f8f847 6 Student ID Number: 201122085 Date: March 2019
lewisgw 1:ded7ddd826ce 7 */
lewisgw 1:ded7ddd826ce 8
lewisgw 1:ded7ddd826ce 9 #include "N5110.h"
lewisgw 1:ded7ddd826ce 10 #include "Gamepad.h"
lewisgw 2:16ae940b0aee 11 #include "Skateboarder.h"
lewisgw 5:eda40cdde3e7 12 #include "Engine.h"
lewisgw 1:ded7ddd826ce 13 #include <cmath>
lewisgw 1:ded7ddd826ce 14
lewisgw 1:ded7ddd826ce 15 N5110 lcd(PTC9,PTC0,PTC7,PTD2,PTD1,PTC11);
lewisgw 2:16ae940b0aee 16 Gamepad gamepad;
lewisgw 5:eda40cdde3e7 17 Engine game_engine;
lewisgw 5:eda40cdde3e7 18
lewisgw 1:ded7ddd826ce 19
lewisgw 1:ded7ddd826ce 20 void init_game();
lewisgw 5:eda40cdde3e7 21
lewisgw 1:ded7ddd826ce 22
lewisgw 1:ded7ddd826ce 23 int main(){
lewisgw 1:ded7ddd826ce 24
lewisgw 1:ded7ddd826ce 25 init_game();
lewisgw 5:eda40cdde3e7 26
lewisgw 1:ded7ddd826ce 27 while(1){
lewisgw 5:eda40cdde3e7 28 lcd.clear();
lewisgw 5:eda40cdde3e7 29 game_engine.read_input(gamepad);
lewisgw 5:eda40cdde3e7 30 game_engine.find_level();
lewisgw 5:eda40cdde3e7 31 game_engine.process_y();
lewisgw 5:eda40cdde3e7 32 game_engine.process_x();
lewisgw 5:eda40cdde3e7 33 game_engine.process_sprite();
lewisgw 5:eda40cdde3e7 34 game_engine.update_lcd(lcd);
lewisgw 2:16ae940b0aee 35
lewisgw 1:ded7ddd826ce 36 lcd.refresh();
lewisgw 1:ded7ddd826ce 37 wait(0.01);
lewisgw 3:28a3c118e071 38 }
lewisgw 3:28a3c118e071 39 }
lewisgw 1:ded7ddd826ce 40
lewisgw 2:16ae940b0aee 41 void init_game() {
lewisgw 2:16ae940b0aee 42 gamepad.init();
lewisgw 5:eda40cdde3e7 43 game_engine.init();
lewisgw 2:16ae940b0aee 44 lcd.init();
lewisgw 2:16ae940b0aee 45 lcd.setContrast(0.5);
lewisgw 2:16ae940b0aee 46 lcd.normalMode();
lewisgw 2:16ae940b0aee 47 lcd.setBrightness(0.5);
lewisgw 3:28a3c118e071 48 }
lewisgw 5:eda40cdde3e7 49