runner
Dependencies: mbed
GameEngine/GameEngine.h@6:ee273baff27c, 2019-05-09 (annotated)
- Committer:
- kamtas
- Date:
- Thu May 09 14:58:01 2019 +0000
- Revision:
- 6:ee273baff27c
- Parent:
- 5:df0bf821b4cc
- Child:
- 7:821b68fc40fb
done
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kamtas | 2:1900a4144537 | 1 | #ifndef GAMEENGINE_H |
kamtas | 2:1900a4144537 | 2 | #define GAMEENGINE_H |
kamtas | 2:1900a4144537 | 3 | |
kamtas | 2:1900a4144537 | 4 | #include "mbed.h" |
kamtas | 2:1900a4144537 | 5 | #include "N5110.h" |
kamtas | 2:1900a4144537 | 6 | #include "Gamepad.h" |
kamtas | 2:1900a4144537 | 7 | #include "Runner.h" |
kamtas | 3:59e67155e2dd | 8 | #include "Obstacle.h" |
kamtas | 2:1900a4144537 | 9 | |
kamtas | 5:df0bf821b4cc | 10 | #define START 20 |
kamtas | 5:df0bf821b4cc | 11 | |
kamtas | 6:ee273baff27c | 12 | /** GameEngine class |
kamtas | 6:ee273baff27c | 13 | * @brief main game engine initialises all objects, reads user input and updates the game and screen |
kamtas | 6:ee273baff27c | 14 | * @author Kamil Zabraniak |
kamtas | 6:ee273baff27c | 15 | * @date May, 2019 |
kamtas | 6:ee273baff27c | 16 | */ |
kamtas | 2:1900a4144537 | 17 | class GameEngine |
kamtas | 2:1900a4144537 | 18 | { |
kamtas | 2:1900a4144537 | 19 | |
kamtas | 2:1900a4144537 | 20 | public: |
kamtas | 6:ee273baff27c | 21 | /** constructor */ |
kamtas | 2:1900a4144537 | 22 | GameEngine(); |
kamtas | 6:ee273baff27c | 23 | /** deconstructor */ |
kamtas | 2:1900a4144537 | 24 | ~GameEngine(); |
kamtas | 2:1900a4144537 | 25 | |
kamtas | 6:ee273baff27c | 26 | /** initialise runner and obstacle parameters |
kamtas | 6:ee273baff27c | 27 | * @param runner width (int) |
kamtas | 6:ee273baff27c | 28 | * @param runner height (int) |
kamtas | 6:ee273baff27c | 29 | * @param obstacle width (int) |
kamtas | 6:ee273baff27c | 30 | * @param obstacle height (int) |
kamtas | 6:ee273baff27c | 31 | */ |
kamtas | 3:59e67155e2dd | 32 | void init(int runner_width,int runner_height, int obstacle_width, int obstacle_height); |
kamtas | 6:ee273baff27c | 33 | |
kamtas | 6:ee273baff27c | 34 | /** reads user input |
kamtas | 6:ee273baff27c | 35 | * @param check if button y is pressed (Gamepad) |
kamtas | 6:ee273baff27c | 36 | */ |
kamtas | 2:1900a4144537 | 37 | void read_input(Gamepad &pad); |
kamtas | 6:ee273baff27c | 38 | |
kamtas | 6:ee273baff27c | 39 | /** updates the positions of the obstacle and the runner and updates the score |
kamtas | 6:ee273baff27c | 40 | * @param check if obstacle has passed the runner (Gamepad) |
kamtas | 6:ee273baff27c | 41 | * @param check if obstacle has collided with runner (Gamepad) |
kamtas | 6:ee273baff27c | 42 | */ |
kamtas | 2:1900a4144537 | 43 | void update(Gamepad &pad); |
kamtas | 6:ee273baff27c | 44 | |
kamtas | 6:ee273baff27c | 45 | /** enders all objects on screen |
kamtas | 6:ee273baff27c | 46 | * @param prints scores on screen (N5110) |
kamtas | 6:ee273baff27c | 47 | * @param draws the runner (N5110) |
kamtas | 6:ee273baff27c | 48 | * @param draws teh obstacle (N5110) |
kamtas | 6:ee273baff27c | 49 | */ |
kamtas | 2:1900a4144537 | 50 | void draw(N5110 &lcd); |
kamtas | 2:1900a4144537 | 51 | |
kamtas | 2:1900a4144537 | 52 | private: |
kamtas | 5:df0bf821b4cc | 53 | |
kamtas | 5:df0bf821b4cc | 54 | void check_obstacle_collisions(Gamepad &pad); |
kamtas | 5:df0bf821b4cc | 55 | void check_pass(Gamepad &pad); |
kamtas | 5:df0bf821b4cc | 56 | void print_scores(N5110 &lcd); |
kamtas | 2:1900a4144537 | 57 | |
kamtas | 2:1900a4144537 | 58 | Runner _r; |
kamtas | 3:59e67155e2dd | 59 | Obstacle _o1; |
kamtas | 2:1900a4144537 | 60 | |
kamtas | 2:1900a4144537 | 61 | int _runner_width; |
kamtas | 2:1900a4144537 | 62 | int _runner_height; |
kamtas | 3:59e67155e2dd | 63 | int _obstacle_width; |
kamtas | 3:59e67155e2dd | 64 | int _obstacle_height; |
kamtas | 2:1900a4144537 | 65 | |
kamtas | 2:1900a4144537 | 66 | int _rx; |
kamtas | 3:59e67155e2dd | 67 | int _o1y; |
kamtas | 2:1900a4144537 | 68 | |
kamtas | 3:59e67155e2dd | 69 | bool _j; |
kamtas | 4:7fca66882a00 | 70 | bool _ran; |
kamtas | 2:1900a4144537 | 71 | |
kamtas | 2:1900a4144537 | 72 | }; |
kamtas | 2:1900a4144537 | 73 | |
kamtas | 2:1900a4144537 | 74 | #endif |