Joueur.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #ifndef ARME_H_INCLUDED
  2. #define ARME_H_INCLUDED
  3. //Notes temporaires: La gérance du clic d'icone se fera par le joueur.
  4. /*La classe arme permet de gerer tous
  5. les attributs de l'arme, y compris le viseur associé.*/
  6. #include <iostream>
  7. #include <SDL/SDL.h>
  8. #include "menuFire.h"
  9. class Arme
  10. {
  11. public:
  12. Arme(SDL_Surface* ecran,unsigned int IDarme,int xCalibreExpl, int yCalibreExpl, int recul);
  13. ~Arme();
  14. void afficher(bool tir, SDL_Rect* positionViseur);
  15. void tir();
  16. unsigned int getTypeWeapon();
  17. //void recharger();
  18. protected:
  19. SDL_Surface* m_ecran;//Pour blits
  20. const int m_IDarme;//Permet d'ajuster la position de l'icone, et determinant facilement l'arme. Note:0=Baroudeur, 1=Usiane, 2=TriPhaseur
  21. SDL_Surface* m_arme;//Image de l'arme
  22. SDL_Surface* m_viseur;//Image du viseur
  23. SDL_Surface* m_tir;//Image de l'explosion lors du tir
  24. SDL_Surface* m_impact;//Image de l'impact
  25. const int m_recul;
  26. const int m_xCalibreExpl;
  27. const int m_yCalibreExpl;
  28. int m_munitionsRestantes;
  29. //int m_tempsRecharge const;//Afaire
  30. //int m_ResteTempsRecharge;//Afaire
  31. };
  32. /*Description:
  33. Permet de creer l'interface du joueur.
  34. */
  35. class Joueur
  36. {
  37. public:
  38. Joueur(SDL_Surface* ecran);
  39. ~Joueur();
  40. void afficher();
  41. void setArme(std::string choixArme);
  42. void giveMousePosition(int x,int y);
  43. void tir();
  44. void recevoirDegats(int degats);
  45. bool estVivant();
  46. unsigned int getTypeWeapon();
  47. protected:
  48. //Ecran en attribut pour les blits
  49. SDL_Surface* m_ecran;
  50. //Nombre de boucles depuis le début du programme
  51. int m_armeCycle;
  52. int m_variableVie;
  53. SDL_Rect m_positionViseur;
  54. SDL_Rect m_positionInterVie;
  55. SDL_Surface* m_interVie;
  56. SDL_Surface* m_jaugeVie[60];
  57. bool m_tirInstant;
  58. Arme* m_armeSelect;
  59. Arme* m_armeOne;
  60. Arme* m_armeTwo;
  61. Arme* m_armeThree;
  62. };
  63. #endif // ARME_H_INCLUDED