1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #ifndef GESTIONNAIRENIVEAUX_H_INCLUDED
- #define GESTIONNAIRENIVEAUX_H_INCLUDED
- #include <fstream>
- #include "Bouton.h"
- #include "transform.h"//Pour les aperçus
- #include "../Niveau.h"
- ///GestionnaireNiveaux.h
- ///Date de modification: 03_02_2014
- ///Objet: adaptation au projet PacMen, placement des boutons
- ///Prochaine étape: nouvelles textures pour l'interface
- #define NB_BOUTONS 16
- /*
- ===La classe GestionnaireNiveaux===
- +Définition:
- Elle permet d'afficher les niveaux disponibles, sous forme d'icones. Elle donne le nom du
- fichier du niveau choisi par le joueur utilisé par la fonction jeu par la suite.
- Le gestionnaire Niveaux affiche seize icones représentant chacune un niveau, deux boutons
- pour changer de page.
- +Méthodes:
- - Constructeur:
- Permet de créer le gestionnaire en donnant la surface d'écran.
- - calculer:
- Permet de renseigner les coordonnées de la souris pour mettre en surbrillance les boutons.
- - afficher:
- Permet d'afficher l'interface des niveaux.
- - clic:
- Lorsqu'un clic se déclenche, permet de donner sa position.
- - estChoisi:
- Retourne vrai dès que l'utilisateur a choisi un niveau.
- - getChoix:
- Retourne dans un string le nom du fichier niveau à lancer.
- - {PROTECTED} allerALaPage:
- Permet de charger une page lorsque le bouton est utilisé. Géré en interne.
- - {PROTECTED} nomDuFichier:
- Permet de connaître le nom du fichier d'un élément du tableau en lui filant l'identifiant.
- */
- class GestionnaireNiveaux
- {
- public:
- GestionnaireNiveaux(SDL_Surface *screen);
- ~GestionnaireNiveaux();
- void calculer(int const xSouris, int const ySouris);
- void afficher();
- void clic(int const xSouris, int const ySouris);
- bool estChoisi();
- std::string getChoix();
- protected: //Fonctions internes
- void reinitialiserPage();
- void allerALaPage(Uint32 numeroPage);
- std::string nomDuFichier(Uint8 IDTab);
- private:
- Bouton* m_tableauBoutons[NB_BOUTONS];
- SDL_Surface* m_apercu[NB_BOUTONS];
- SDL_Surface* m_font;
- Bouton* m_pagePrecedente;
- Bouton* m_pageSuivante;
- Uint32 m_pageActuelle;
- bool m_estChoisi;
- std::string m_choixJoueur;
- SDL_Surface* m_screen;
- };
- #endif // GESTIONNAIRENIVEAUX_H_INCLUDED
|