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