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
main.cpp@5:eda40cdde3e7, 2019-03-17 (annotated)
- 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?
| User | Revision | Line number | New 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 |