#include #include #include #include "constantes.h" #include "structures.h" #include "prototypes.h" #include void Factionennemi(int* Vtourennemi,SURFACES* surfaces,POSITIONS* positions, ENNEMIS ennemis[], PERSONNAGES persos[],int Vnbennemis,int*Vtour) { int target,degats; target=Fchoosetargetallie(persos); degats=Fgeneratedegats(persos, ennemis,*Vtourennemi,target); persos[target].pv=persos[target].pv-degats; do { if(*VtourennemiVpositionmort.x=positions->Vpositionpersos[target].x+surfaces->Tperso[target]->w/2-surfaces->Pmort->w/2; positions->Vpositionmort.y=positions->Vpositionpersos[target].y+surfaces->Tperso[target]->h/2-surfaces->Pmort->h/2; SDL_BlitSurface(surfaces->Pmort,NULL,surfaces->Pecran,&positions->Vpositionmort); } /* TODO re-enable */ #if 0 Fafficherdegats(surfaces,positions,degats,ALLIE,target,persos); #endif SDL_Delay(1000); SDL_BlitSurface(surfaces->Pfondjeu,&positions->Vpositiondegats,surfaces->Pecran,&positions->Vpositiondegats); SDL_Flip(surfaces->Pecran); } int Fchoosetargetallie(PERSONNAGES persos[]) { int min=0,max=2,target; do { target=(rand()%(max-min+1)+min); }while(persos[target].etat==MORT); return target; } int Fgeneratedegats(PERSONNAGES persos[],ENNEMIS ennemis[],int Vtourennemi,int target) { int degats,taux,min,max; degats=ennemis[Vtourennemi].force*60-persos[target].defense*50; taux=degats/4; min=degats-taux; max=degats+taux; degats=(rand()%(max-min+1)+min); if(degats<0) degats=0; return degats; }