Rally X
ELEN3009 Project by Justin Wernick and David Schneider
source/presentation/GamePanel.h
Go to the documentation of this file.
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
 All Classes Files Functions Variables Typedefs Enumerations Enumerator