#ifndef _GAME_H #define _GAME_H #include "Compiler.h" #include #include #ifdef WINDOWS #define WIN32_LEAN_AND_MEAN #endif #include "Player.h" #include "WorldMap.h" #include "Projectile.h" using namespace std; class Game { private: unsigned int id; string name; map players; map projectiles; WorldMap* worldMap; unsigned int blueScore; unsigned int redScore; unsigned int unusedProjectileId; public: Game(); Game(string name, string filepath); ~Game(); string getName(); int getNumPlayers(); unsigned int getBlueScore(); unsigned int getRedScore(); WorldMap* getMap(); void setId(unsigned int id); void setBlueScore(unsigned int score); void setRedScore(unsigned int score); map& getPlayers(); bool addPlayer(Player* p); bool removePlayer(unsigned int id); map& getProjectiles(); bool addProjectile(Projectile p); bool removeProjectile(unsigned int id); bool startPlayerMovement(unsigned int id, int x, int y); bool processPlayerMovement(Player* p, FLOAT_POSITION oldPos); int processFlagPickupRequest(Player* p); void assignProjectileId(Projectile* p); void updateUnusedProjectileId(); }; #endif