00001 00002 00003 00004 00005 00006 00007 #ifndef cce_CoucheTile_hpp 00008 #define cce_CoucheTile_hpp 00009 00010 #include <SFML/Graphics/RenderWindow.hpp> 00011 #include <SFML/Graphics/Shape.hpp> 00012 #include <bib/io/EnregistreurFichier.hpp> 00013 #include <bib/io/LecteurFichier.hpp> 00014 #include "Couche.hpp" 00015 #include "Tile.hpp" 00016 00017 using bib::io::LecteurFichier; 00018 using bib::io::EnregistreurFichier; 00019 using sf::RenderWindow; 00020 00021 namespace cce 00022 { 00023 00024 class CoucheTile : public Couche 00025 { 00026 00027 public: 00031 CoucheTile (); 00032 00033 virtual ~CoucheTile(); 00040 Tile& getTile (const int X, const int Y ) const; 00041 00047 void setTile(const int id, const int x, const int y); 00048 00053 void unsetTile(const int x, const int y); 00054 00068 void lecture(LecteurFichier& flux); 00069 00073 void dessinerSur(RenderTarget& cible); 00074 00075 int getLargeur() const; 00076 int getHauteur() const; 00077 00078 private: 00079 int indiceDe(int x_vue, int y_vue) const; 00080 00081 protected: 00085 Tile* tiles; 00086 int nbTiles; 00087 int largeur; 00088 int hauteur; 00089 }; 00090 00091 } /* End of namespace cce */ 00092 00093 #endif // cce_CoucheTile_h