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
- Committer:
- Siriagus
- Date:
- 2015-05-09
- Revision:
- 14:b4fed570abaf
- Parent:
- 13:7ab71c7c311b
- Child:
- 15:d5eb13c4c1c6
File content as of revision 14:b4fed570abaf:
#ifndef GAME_H
#define GAME_H
/** @file Game.h
* @author Andreas Garmannslund
*/
#include "State.h"
#include "Resources.h" // TODO: Move to State.h ?
#include "Entity.h"
#include "map.h"
#include <vector>
#define TERMINAL_VELOCITY 3
/// Simple objects with a position (x,y) and velocity (vx, vy)
struct Point
{
int x;
int y;
int vx, vy;
};
/// State: Game
class Game : public State
{
public:
/// Creates the Game state
Game(StateManager* fsm, N5110 *lcd, InputManager* input)
: State(fsm, lcd, input) {init();}
/// Handle input and update logic
virtual void update(float dt);
/// Draw state to lcd
virtual void render();
private:
/// Moves entity in map. If collision occurs, entity can not move further
void moveWithCollisionTest(Entity* entity, const int map[HEIGHT][WIDTH]);
void init(); /// Sets some initial values
Entity player; /// Player object
Entity enemy; /// Enemy object
bool releasedBtnB; /// True if button B has been released after being pressed down
std::vector<Point*> bullets; /// Container for bullets
};
#endif