00001 00012 #ifndef ENGINE_H 00013 #define ENGINE_H 00014 00015 #include "bot.h" 00016 #include "graphicsengine.h" 00017 #include "bullet.h" 00018 #include <list> 00019 00020 using std::list; 00021 00026 class CGameEngine 00027 { 00028 public: 00036 CGameEngine(istream *aWeapons, istream *aMap, istream *aTeamInfo = NULL); 00037 00042 void setGraphicsEngine(CGraphicsEngine *aGraphicsEngine); 00043 00045 bool loop(); 00046 00053 char **getResults(bool aTeamResults); 00054 00059 void restart(istream *aMap = NULL); 00060 00062 void setFragLimit(int aFragLimit); 00063 00064 private: 00065 CGraphicsEngine *mGfxEngine; 00066 list<CBulletInfo *> mBulletList; 00067 list<CWeaponInfo *> mWeaponList; 00068 CWeapon *mWeaponTypes; 00069 CBot *mBots; 00070 char **mTileMap; 00071 int mFragLimit; 00072 int mTeamNum; 00073 char **mTeamNames; 00074 bool mFriendlyFire; 00075 }; 00076 00077 #endif // ENGINE_H