Hugo Hu / Mbed 2 deprecated BRAVEHEART

Dependencies:   mbed N5110 ShiftReg PinDetect

Committer:
Siriagus
Date:
Fri May 08 23:51:26 2015 +0000
Revision:
12:8178fad5e660
Parent:
11:adb68da98262
Child:
13:7ab71c7c311b
Added template drawImage function which can draw images of any dimension.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Siriagus 5:100d960fc6d5 1 #ifndef GAME_H
Siriagus 5:100d960fc6d5 2 #define GAME_H
Siriagus 5:100d960fc6d5 3
Siriagus 12:8178fad5e660 4 /** @file Game.h
Siriagus 12:8178fad5e660 5 * @author Andreas Garmannslund
Siriagus 12:8178fad5e660 6 */
Siriagus 12:8178fad5e660 7
Siriagus 7:678873947b29 8 #include "State.h"
Siriagus 8:9ac6a428fa26 9 #include "Resources.h" // TODO: Move to State.h ?
Siriagus 9:da608ae65df9 10 #include "Entity.h"
Siriagus 11:adb68da98262 11 #include "map.h"
Siriagus 8:9ac6a428fa26 12 #include <vector>
Siriagus 8:9ac6a428fa26 13
Siriagus 12:8178fad5e660 14 /// Simple objects with a position (x,y) and velocity (vx, vy)
Siriagus 8:9ac6a428fa26 15 struct Point
Siriagus 8:9ac6a428fa26 16 {
Siriagus 8:9ac6a428fa26 17 int x;
Siriagus 8:9ac6a428fa26 18 int y;
Siriagus 9:da608ae65df9 19 int vx, vy;
Siriagus 8:9ac6a428fa26 20 };
Siriagus 7:678873947b29 21
Siriagus 12:8178fad5e660 22 /// State: Game
Siriagus 5:100d960fc6d5 23 class Game : public State
Siriagus 5:100d960fc6d5 24 {
Siriagus 5:100d960fc6d5 25 public:
Siriagus 12:8178fad5e660 26 /// Creates the Game state
Siriagus 5:100d960fc6d5 27 Game(StateManager* fsm, N5110 *lcd, InputManager* input)
Siriagus 9:da608ae65df9 28 : State(fsm, lcd, input) {init();}
Siriagus 12:8178fad5e660 29
Siriagus 12:8178fad5e660 30 /// Handle input and update logic
Siriagus 7:678873947b29 31 virtual void update(float dt);
Siriagus 12:8178fad5e660 32
Siriagus 12:8178fad5e660 33 /// Draw state to lcd
Siriagus 7:678873947b29 34 virtual void render();
Siriagus 8:9ac6a428fa26 35
Siriagus 8:9ac6a428fa26 36
Siriagus 5:100d960fc6d5 37 private:
Siriagus 12:8178fad5e660 38
Siriagus 5:100d960fc6d5 39
Siriagus 12:8178fad5e660 40 void init(); /// Sets some initial values
Siriagus 12:8178fad5e660 41 Entity player; /// Player object
Siriagus 8:9ac6a428fa26 42
Siriagus 12:8178fad5e660 43 bool releasedBtnB; /// True if button B has been released after being pressed down
Siriagus 12:8178fad5e660 44
Siriagus 12:8178fad5e660 45 std::vector<Point*> bullets; /// Container for bullets
Siriagus 5:100d960fc6d5 46 };
Siriagus 5:100d960fc6d5 47
Siriagus 5:100d960fc6d5 48 #endif