summaryrefslogtreecommitdiff
path: root/ia.c
diff options
context:
space:
mode:
Diffstat (limited to 'ia.c')
-rw-r--r--ia.c132
1 files changed, 66 insertions, 66 deletions
diff --git a/ia.c b/ia.c
index cfd0bce..5e74f3c 100644
--- a/ia.c
+++ b/ia.c
@@ -1,66 +1,66 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <SDL/SDL.h>
-#include "constantes.h"
-#include "structures.h"
-#include "prototypes.h"
-#include <time.h>
-
-void Factionennemi(int* Vtourennemi,SURFACES* surfaces,POSITIONS* positions, ENNEMIS ennemis[], PERSONNAGES persos[],int Vnbennemis,int*Vtour,int Vtourallie)
-{
- int target,degats;
-
- target=Fchoosetargetallie(persos);
- degats=Fgeneratedegats(persos, ennemis,*Vtourennemi,target);
- persos[target].pv=persos[target].pv-degats;
- do
- {
- if(*Vtourennemi<Vnbennemis)
- (*Vtourennemi)++;
- else if(*Vtourennemi==Vnbennemis)
- {
- *Vtourennemi=0;
- inverse(Vtour);
- }
- }while(ennemis[*Vtourennemi].etat==MORT);
- if(persos[target].pv<=0)
- {
- persos[target].pv=0;
- persos[target].etat=MORT;
- positions->Vpositionmort.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);
- }
- Fafficherdegats(surfaces,positions,degats,ALLIE,target,persos);
- SDL_Delay(1000);
- SDL_BlitSurface(surfaces->Pfondjeu,&positions->Vpositiondegats,surfaces->Pecran,&positions->Vpositiondegats);
- if(*Vtour==ALLIE)
- Fblitcoloredselection(surfaces,positions,Vtourallie,persos);
- 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;
-}
+#include <stdio.h>
+#include <stdlib.h>
+#include <SDL/SDL.h>
+#include "constantes.h"
+#include "structures.h"
+#include "prototypes.h"
+#include <time.h>
+
+void Factionennemi(int* Vtourennemi,SURFACES* surfaces,POSITIONS* positions, ENNEMIS ennemis[], PERSONNAGES persos[],int Vnbennemis,int*Vtour,int Vtourallie)
+{
+ int target,degats;
+
+ target=Fchoosetargetallie(persos);
+ degats=Fgeneratedegats(persos, ennemis,*Vtourennemi,target);
+ persos[target].pv=persos[target].pv-degats;
+ do
+ {
+ if(*Vtourennemi<Vnbennemis)
+ (*Vtourennemi)++;
+ else if(*Vtourennemi==Vnbennemis)
+ {
+ *Vtourennemi=0;
+ inverse(Vtour);
+ }
+ }while(ennemis[*Vtourennemi].etat==MORT);
+ if(persos[target].pv<=0)
+ {
+ persos[target].pv=0;
+ persos[target].etat=MORT;
+ positions->Vpositionmort.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);
+ }
+ Fafficherdegats(surfaces,positions,degats,ALLIE,target,persos);
+ SDL_Delay(1000);
+ SDL_BlitSurface(surfaces->Pfondjeu,&positions->Vpositiondegats,surfaces->Pecran,&positions->Vpositiondegats);
+ if(*Vtour==ALLIE)
+ Fblitcoloredselection(surfaces,positions,Vtourallie,persos);
+ 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;
+}