#ifndef LINER_H_INCLUDED #define LINER_H_INCLUDED #include #include #include #include "Collisions.h" #include "traitement.h" #include "Power.h" //Mouvement #define TOURNE_DROITE 1//Quand ne tourne pas, 0 #define TOURNE_GAUCHE -1 /** \brief Voici la classe du Mighty Liner * \last Créer un attribut ID pour permettre au collisioneur d'afficher des murs différents * \next Réintégrer les pouvoirs * * */ class Liner { public: Liner(int x, int y, int orientation, int id, SDL_Surface *screen, SDL_Surface *pseudo, Collisions *collisioneur, TableauPower *powerGetter); ~Liner(); void actualiser(int direction); void collisioner(); void afficher(); void direEstFini(bool fin); bool estVivant() const; void avancer(int nbFois); void utiliserPouvoir(); void reset( int x, int y, int orientation ); int getMeurtrier(); private: int m_x; //Coordonnées en nb blocs int m_y; int m_orientation; //0 à 3 const int m_id; bool m_estVivant; bool m_fin; // Pour afficher les pseudos int m_meurtrier; Collisions *m_collisioneur; SDL_Surface *m_screen; SDL_Surface *m_liner; SDL_Surface *m_cercle; SDL_Surface *m_pseudo; SDL_Rect m_position; TableauPower *m_powerGetter; Power *m_power; std::deque m_trainee; }; bool initialisationPict(); void fermeturePict(); #endif // Liner_H_INCLUDED