1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
| #include <iostream>
#include <string>
#include <SDL/SDL.h>
#include "Personnage.h"
using namespace std;
Personnage::Personnage()
{
m_vie=100;
m_armure=0;
m_perso=SDL_LoadBMP("image/Joueur/joueur_Droite_1.bmp");
m_positionPersonnage.x=0;
m_positionPersonnage.y=0;
}
Personnage::~Personnage()
{
SDL_FreeSurface(m_perso);
}
void Personnage::nom(std::string nomPersonnage )
{
m_nomPersonnage=nomPersonnage;
}
void Personnage::frapper(string frappe)
{
if (frappe=="haut")
{
m_perso=SDL_LoadBMP("image/Joueur/joueur_Haut_frappe.bmp");
personnageBlit();
SDL_Delay(100);
m_perso=SDL_LoadBMP("image/Joueur/joueur_Haut_1.bmp");
}
else if (frappe=="bas")
{
m_perso=SDL_LoadBMP("image/Joueur/joueur_Bas_frappe.bmp");
personnageBlit();
SDL_Delay(100);
m_perso=SDL_LoadBMP("image/Joueur/joueur_Bas_1.bmp");
}
else if (frappe=="gauche")
{
m_perso=SDL_LoadBMP("image/Joueur/joueur_Gauche_frappe.bmp");
personnageBlit();
SDL_Delay(100);
m_perso=SDL_LoadBMP("image/Joueur/joueur_Gauche_1.bmp");
}
else if (frappe=="droite")
{
m_perso=SDL_LoadBMP("image/Joueur/joueur_Droite_frappe.bmp");
personnageBlit();
SDL_Delay(100);
m_perso=SDL_LoadBMP("image/Joueur/joueur_Droite_1.bmp");
}
}
void Personnage::deplacer(string direction)
{
if(direction=="droite")
{
m_perso=SDL_LoadBMP("image/Joueur/joueur_Droite_1.bmp");
m_positionPersonnage.x+=15;
m_direction=direction;
}
else if(direction=="gauche")
{
m_perso=SDL_LoadBMP("image/Joueur/joueur_Gauche_1.bmp");
m_positionPersonnage.x-=15;
m_direction=direction;
}
else if(direction=="bas")
{
m_perso=SDL_LoadBMP("image/Joueur/joueur_Bas_1.bmp");
m_positionPersonnage.y+=15;
m_direction=direction;
}
else if(direction=="haut")
{
m_perso=SDL_LoadBMP("image/Joueur/joueur_Haut_1.bmp");
m_positionPersonnage.y-=15;
m_direction=direction;
}
}
void Personnage::personnageBlit()
{
SDL_FillRect(SDL_GetVideoSurface(),NULL,SDL_MapRGB(SDL_GetVideoSurface()->format,152,152,255));
SDL_SetColorKey(m_perso,SDL_SRCCOLORKEY,SDL_MapRGB(m_perso->format,0,0,0));
SDL_BlitSurface(m_perso,NULL,SDL_GetVideoSurface(),&m_positionPersonnage);
SDL_Flip(SDL_GetVideoSurface());
}
SDL_Rect position()
{
return m_positionPersonnage;
}
string Personnage::direction_actuelle()
{
return m_direction;
} |
Partager