#ifndef ARME_H_INCLUDED #define ARME_H_INCLUDED //Notes temporaires: La gérance du clic d'icone se fera par le joueur. /*La classe arme permet de gerer tous les attributs de l'arme, y compris le viseur associé.*/ #include #include #include "menuFire.h" class Arme { public: Arme(SDL_Surface* ecran,unsigned int IDarme,int xCalibreExpl, int yCalibreExpl, int recul); ~Arme(); void afficher(bool tir, SDL_Rect* positionViseur); void tir(); unsigned int getTypeWeapon(); //void recharger(); protected: SDL_Surface* m_ecran;//Pour blits const int m_IDarme;//Permet d'ajuster la position de l'icone, et determinant facilement l'arme. Note:0=Baroudeur, 1=Usiane, 2=TriPhaseur SDL_Surface* m_arme;//Image de l'arme SDL_Surface* m_viseur;//Image du viseur SDL_Surface* m_tir;//Image de l'explosion lors du tir SDL_Surface* m_impact;//Image de l'impact const int m_recul; const int m_xCalibreExpl; const int m_yCalibreExpl; int m_munitionsRestantes; //int m_tempsRecharge const;//Afaire //int m_ResteTempsRecharge;//Afaire }; /*Description: Permet de creer l'interface du joueur. */ class Joueur { public: Joueur(SDL_Surface* ecran); ~Joueur(); void afficher(); void setArme(std::string choixArme); void giveMousePosition(int x,int y); void tir(); void recevoirDegats(int degats); bool estVivant(); unsigned int getTypeWeapon(); protected: //Ecran en attribut pour les blits SDL_Surface* m_ecran; //Nombre de boucles depuis le début du programme int m_armeCycle; int m_variableVie; SDL_Rect m_positionViseur; SDL_Rect m_positionInterVie; SDL_Surface* m_interVie; SDL_Surface* m_jaugeVie[60]; bool m_tirInstant; Arme* m_armeSelect; Arme* m_armeOne; Arme* m_armeTwo; Arme* m_armeThree; }; #endif // ARME_H_INCLUDED