Rally X
ELEN3009 Project by Justin Wernick and David Schneider
|
00001 #ifndef GAMEPANEL_H 00002 #define GAMEPANEL_H 00003 00004 #include "../presentation/ScreenPanel.h" 00005 #include "../logic/Maze.h" 00006 #include "../logic/GameObject.h" 00007 #include "../logic/PlayerCar.h" 00008 #include "../logic/EnemyCar.h" 00009 #include "../logic/Checkpoint.h" 00010 #include "../logic/Rock.h" 00011 #include "../logic/Smokescreen.h" 00012 #include "../logic/DestroyedObjectPopup.h" 00013 #include "../logic/AllegroWrappers.h" 00014 00023 class GamePanel : public ScreenPanel 00024 { 00025 public: 00040 GamePanel(ALLEGRO_BITMAP* back, ALLEGRO_BITMAP* front, int x, int y, int width, int height); 00041 00042 00057 virtual void draw(const Maze& maze, const list<PlayerCar>& players, const list<EnemyCar>& enemies, const list<Checkpoint>& checkpoints, const list<Rock>& rocks, const list<Smokescreen>& smokescreens, const list<DestroyedObjectPopup>& popups); 00058 private: 00062 GamePanel(const GamePanel& ref); 00066 GamePanel& operator=(const GamePanel& rhs); 00075 float getPanelX(const double& x) const; 00084 float getPanelY(const double& y) const; 00085 00094 void draw(const Maze& maze); 00095 00103 void draw(const GameObject& object); 00104 00105 const static int BLOCKS_PER_ROW = 15; 00106 00107 unsigned int _mazeblockWidth; 00108 00109 float _offsetX; 00110 float _offsetY; 00111 00112 BitmapStore _bitmapStore; 00113 00114 AllegroInit _allegro; 00115 }; 00116 00117 #endif // GAMEPANEL_H