#pragma once #include #include "LevelGUI.h" #include "Plane.h" #include "Bomb.h" #include "Ground.h" #include "Tank.h" class SBomber { public: SBomber(); ~SBomber(); inline bool GetExitFlag() const { return exitFlag; } void ProcessKBHit(); void TimeStart(); void TimeFinish(); void DrawFrame(); void MoveObjects(); void CheckObjects(); void run(); private: void CheckPlaneAndLevelGUI(); void CheckBombsAndGround(); void CheckDestoyableObjects(Bomb *pBomb); // void DeleteDynamicObj(DynamicObject *pBomb); // void DeleteStaticObj(GameObject *pObj); Ground* FindGround() const; Plane* FindPlane() const; LevelGUI* FindLevelGUI() const; std::vector FindDestoyableGroundObjects() const; std::vector FindAllBombs() const; // void DropBomb(); std::vector vecDynamicObj; std::vector vecStaticObj; bool exitFlag; uint64_t startTime, finishTime, passedTime; uint16_t bombsNumber, deltaTime, fps; int16_t score; };