#ifndef _NIVEAU_H #define _NIVEAU_H #include #include #include #include #include "DeletePointeur.h" #include "Objet.h" #include "constantes.h" #include "Mur.h" #include "Heros.h" #include "Vide.h" #include "Goumba.h" #include "Koupa.h" #include "But.h" #include "Surprise.h" #include "Note.h" #include "Coin.h" #include "Champignon.h" #include "Incassable.h" using namespace std; typedef std::vector C_Objet; typedef std::vector C_Bloc; typedef std::vector C_Deplacable; class Niveau { public: //constructeur Niveau(const string&, const string & ); ~Niveau(); static void ChargerAventure(std::vector&, string); static const int GetNombreNiveaux(){ return m_nombreNiveaux; } //initialise le niveau � partir d'un fichier bool load(); Objet* initObjet(const char,const int,const int, const int = 0, const int = 0); //accesseurs std::string getNom() const{ return m_nom;} C_Bloc GetBlocs() const{ return m_bloc;} C_Deplacable GetDeplacables(){ return m_deplacable; } int GetPlaceHeros(){ return m_PlaceHeros; } int getLong(){ return m_dimension[HAUTEUR]; } int getLarge(){ return m_dimension[LARGEUR];} string GetFond(){ return m_fond; } string GetMusiqueFond(){ return m_musiqueFond; } private: //info relatives au niveau lui meme string m_nom;//nom du niveau string m_url;//url du niveau string m_fond; string m_musiqueFond; int m_dimension[2];//en cases(dimension[HAUTEUR ou LARGEUR]) //conteneurs C_Bloc m_bloc;//tableau de blocs C_Deplacable m_deplacable; //info relatives au heros Position m_posJoueur; int m_PlaceHeros; //donnees statiques static int m_nombreNiveaux; }; #endif