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 N5110 ShiftReg PinDetect
Game.h@8:9ac6a428fa26, 2015-05-02 (annotated)
- Committer:
- Siriagus
- Date:
- Sat May 02 00:22:43 2015 +0000
- Revision:
- 8:9ac6a428fa26
- Parent:
- 7:678873947b29
- Child:
- 9:da608ae65df9
Added Splash/Title Screen + Prototyping player movement
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| Siriagus | 5:100d960fc6d5 | 1 | #ifndef GAME_H |
| Siriagus | 5:100d960fc6d5 | 2 | #define GAME_H |
| Siriagus | 5:100d960fc6d5 | 3 | |
| Siriagus | 7:678873947b29 | 4 | #include "State.h" |
| Siriagus | 8:9ac6a428fa26 | 5 | #include "Resources.h" // TODO: Move to State.h ? |
| Siriagus | 8:9ac6a428fa26 | 6 | #include <vector> |
| Siriagus | 8:9ac6a428fa26 | 7 | |
| Siriagus | 8:9ac6a428fa26 | 8 | struct Object |
| Siriagus | 8:9ac6a428fa26 | 9 | { |
| Siriagus | 8:9ac6a428fa26 | 10 | int x, y, width, height; |
| Siriagus | 8:9ac6a428fa26 | 11 | int vx, vy; |
| Siriagus | 8:9ac6a428fa26 | 12 | bool onGround; |
| Siriagus | 8:9ac6a428fa26 | 13 | }; |
| Siriagus | 8:9ac6a428fa26 | 14 | |
| Siriagus | 8:9ac6a428fa26 | 15 | struct Point |
| Siriagus | 8:9ac6a428fa26 | 16 | { |
| Siriagus | 8:9ac6a428fa26 | 17 | int x; |
| Siriagus | 8:9ac6a428fa26 | 18 | int y; |
| Siriagus | 8:9ac6a428fa26 | 19 | }; |
| Siriagus | 7:678873947b29 | 20 | |
| Siriagus | 5:100d960fc6d5 | 21 | class Game : public State |
| Siriagus | 5:100d960fc6d5 | 22 | { |
| Siriagus | 5:100d960fc6d5 | 23 | public: |
| Siriagus | 5:100d960fc6d5 | 24 | Game(StateManager* fsm, N5110 *lcd, InputManager* input) |
| Siriagus | 8:9ac6a428fa26 | 25 | : State(fsm, lcd, input) {player.x = 10; player.y = 10; player.width = 5; player.height = 5; player.vy = 0; player.vx = 0; player.onGround = false; init();} |
| Siriagus | 5:100d960fc6d5 | 26 | |
| Siriagus | 7:678873947b29 | 27 | virtual void update(float dt); |
| Siriagus | 7:678873947b29 | 28 | virtual void render(); |
| Siriagus | 8:9ac6a428fa26 | 29 | |
| Siriagus | 8:9ac6a428fa26 | 30 | void init(); |
| Siriagus | 8:9ac6a428fa26 | 31 | |
| Siriagus | 5:100d960fc6d5 | 32 | private: |
| Siriagus | 8:9ac6a428fa26 | 33 | Object player; |
| Siriagus | 5:100d960fc6d5 | 34 | |
| Siriagus | 8:9ac6a428fa26 | 35 | static void btnAPress(); |
| Siriagus | 8:9ac6a428fa26 | 36 | static void btnBPress(); |
| Siriagus | 8:9ac6a428fa26 | 37 | static bool btnAPressed; |
| Siriagus | 8:9ac6a428fa26 | 38 | static bool btnBPressed; |
| Siriagus | 8:9ac6a428fa26 | 39 | // Buttons interrupts |
| Siriagus | 8:9ac6a428fa26 | 40 | |
| Siriagus | 8:9ac6a428fa26 | 41 | std::vector<Point*> bullets; |
| Siriagus | 5:100d960fc6d5 | 42 | }; |
| Siriagus | 5:100d960fc6d5 | 43 | |
| Siriagus | 5:100d960fc6d5 | 44 | #endif |