gestionnaireNiveaux.h 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. #ifndef GESTIONNAIRENIVEAUX_H_INCLUDED
  2. #define GESTIONNAIRENIVEAUX_H_INCLUDED
  3. #include <fstream>
  4. #include "Bouton.h"
  5. #include "transform.h"//Pour les aperçus
  6. #include "../Niveau.h"
  7. ///GestionnaireNiveaux.h
  8. ///Date de modification: 03_02_2014
  9. ///Objet: adaptation au projet PacMen, placement des boutons
  10. ///Prochaine étape: nouvelles textures pour l'interface
  11. #define NB_BOUTONS 16
  12. /*
  13. ===La classe GestionnaireNiveaux===
  14. +Définition:
  15. Elle permet d'afficher les niveaux disponibles, sous forme d'icones. Elle donne le nom du
  16. fichier du niveau choisi par le joueur utilisé par la fonction jeu par la suite.
  17. Le gestionnaire Niveaux affiche seize icones représentant chacune un niveau, deux boutons
  18. pour changer de page.
  19. +Méthodes:
  20. - Constructeur:
  21. Permet de créer le gestionnaire en donnant la surface d'écran.
  22. - calculer:
  23. Permet de renseigner les coordonnées de la souris pour mettre en surbrillance les boutons.
  24. - afficher:
  25. Permet d'afficher l'interface des niveaux.
  26. - clic:
  27. Lorsqu'un clic se déclenche, permet de donner sa position.
  28. - estChoisi:
  29. Retourne vrai dès que l'utilisateur a choisi un niveau.
  30. - getChoix:
  31. Retourne dans un string le nom du fichier niveau à lancer.
  32. - {PROTECTED} allerALaPage:
  33. Permet de charger une page lorsque le bouton est utilisé. Géré en interne.
  34. - {PROTECTED} nomDuFichier:
  35. Permet de connaître le nom du fichier d'un élément du tableau en lui filant l'identifiant.
  36. */
  37. class GestionnaireNiveaux
  38. {
  39. public:
  40. GestionnaireNiveaux(SDL_Surface *screen);
  41. ~GestionnaireNiveaux();
  42. void calculer(int const xSouris, int const ySouris);
  43. void afficher();
  44. void clic(int const xSouris, int const ySouris);
  45. bool estChoisi();
  46. std::string getChoix();
  47. protected: //Fonctions internes
  48. void reinitialiserPage();
  49. void allerALaPage(Uint32 numeroPage);
  50. std::string nomDuFichier(Uint8 IDTab);
  51. private:
  52. Bouton* m_tableauBoutons[NB_BOUTONS];
  53. SDL_Surface* m_apercu[NB_BOUTONS];
  54. SDL_Surface* m_font;
  55. Bouton* m_pagePrecedente;
  56. Bouton* m_pageSuivante;
  57. Uint32 m_pageActuelle;
  58. bool m_estChoisi;
  59. std::string m_choixJoueur;
  60. SDL_Surface* m_screen;
  61. };
  62. #endif // GESTIONNAIRENIVEAUX_H_INCLUDED