diff options
| -rw-r--r-- | competences.c | 68 | ||||
| -rw-r--r-- | constantes.h | 11 | ||||
| -rw-r--r-- | jouer.c | 1 | ||||
| -rw-r--r-- | menuchoixpersos.c | 4 | ||||
| -rw-r--r-- | players.h | 3 | ||||
| -rw-r--r-- | prototypes.h | 1 | 
6 files changed, 18 insertions, 70 deletions
| diff --git a/competences.c b/competences.c deleted file mode 100644 index 7acd8b9..0000000 --- a/competences.c +++ /dev/null @@ -1,68 +0,0 @@ -#include <stdlib.h> -#include <stdio.h> -#include <SDL/SDL.h> -#include "structures.h" -#include "constantes.h" -#include "prototypes.h" - -void Fremplircompetencesennemis (ENNEMIS ennemis[],int Vnbennemis) -{ -    int i, y; -    unsigned int sensibilite; -    unsigned int max = 8, min = 0; - -    for (i=0;i<=Vnbennemis;i++) -    { -        if(ennemis[i].classe==GUERRIER_GOBELIN) -        { -            ennemis[i].force = 15; -            ennemis[i].magie = 0; -            ennemis[i].defense = 10; -            ennemis[i].defensemagique = 5; -            ennemis[i].pv = 1000; -            ennemis[i].pm = 0; -            ennemis[i].pminitiaux = 0; -            ennemis[i].pvinitiaux = 1000; -            ennemis[i].etat = VIE; -            for (y=0;y<4;y++) -            { -                sensibilite = (rand() % (max - min + 1)) + min; -                if (sensibilite == SENSIBILITE) -                { -                    ennemis[i].sensibilite[y] = ACTIVE; -                    ennemis[i].resistance[y] = DESACTIVE; -                    ennemis[i].invulnerabilite[y] = DESACTIVE; -                    ennemis[i].absorbtion[y] = DESACTIVE; -                } -                else if (sensibilite == RESISTANCE) -                { -                    ennemis[i].resistance[y] = ACTIVE; -                    ennemis[i].sensibilite[y] = DESACTIVE; -                    ennemis[i].invulnerabilite[y] = DESACTIVE; -                    ennemis[i].absorbtion[y] = DESACTIVE; -                } -                else if (sensibilite == INVULNERABILITE) -                { -                    ennemis[i].resistance[y] = DESACTIVE; -                    ennemis[i].sensibilite[y] = DESACTIVE; -                    ennemis[i].invulnerabilite[y] = ACTIVE; -                    ennemis[i].absorbtion[y] = DESACTIVE; -                } -                else if (sensibilite == ABSORBTION) -                { -                    ennemis[i].sensibilite[y] = DESACTIVE; -                    ennemis[i].resistance[y] = DESACTIVE; -                    ennemis[i].invulnerabilite[y] = DESACTIVE; -                    ennemis[i].absorbtion[y] = ACTIVE; -                } -                else -                { -                    ennemis[i].sensibilite[y] = DESACTIVE; -                    ennemis[i].resistance[y] = DESACTIVE; -                    ennemis[i].invulnerabilite[y] = DESACTIVE; -                    ennemis[i].absorbtion[y] = DESACTIVE; -                } -            } -        } -    } -} diff --git a/constantes.h b/constantes.h index 1178eca..7e3d7da 100644 --- a/constantes.h +++ b/constantes.h @@ -44,6 +44,15 @@ enum character_class_t {  #define SOIN 0  //caractéristiques +enum affinity_t { +    AFFINITY_ABSORPTION, +    AFFINITY_INVULNERABILITY, +    AFFINITY_RESISTANCE, +    AFFINITY_NONE, +    AFFINITY_SENSITIVE, + +    AFFINITY_COUNT, +};  #define SENSIBILITE 1  #define RESISTANCE 2  #define INVULNERABILITE 3 @@ -205,6 +214,8 @@ else\  }\  break; +#define countof(_array)  ((int)(sizeof((_array)) / sizeof((_array)[0]))) +  #include <stdbool.h>  #define inverse_boolean(_b) ((_b) = (((_b)) ? false : true)) @@ -120,7 +120,6 @@ int Fjouer (SURFACES *surfaces, POSITIONS *positions, struct team_t *ally,ENNEMI      blit_ally_team(surfaces,positions, ally); // on blit les persos sur l'ecran      Fblitterennemis(surfaces,positions,ennemis,Vnbennemis); // idem pour les ennemis -    Fremplircompetencesennemis(ennemis,Vnbennemis); // on initialise les pv, pm, exp, etc DES ENNEMIS      while (continuer)      { diff --git a/menuchoixpersos.c b/menuchoixpersos.c index ef8b8a1..91e0c7d 100644 --- a/menuchoixpersos.c +++ b/menuchoixpersos.c @@ -60,6 +60,10 @@ struct team_t *new_ally_team(SURFACES *surfaces,          chr->defense = base_stats_g[chr->class_].defense;          chr->spirit = base_stats_g[chr->class_].spirit; +        for (int j = 0; j < countof(chr->affinities); ++j) { +            chr->affinities[j] = rand() % AFFINITY_COUNT; +        } +          /* set its position */          chr->pos.x = 20;          chr->pos.y = (YWIN / (cnt + 1)) * (i + 1) - chr->def_surf->h / 2; @@ -39,6 +39,9 @@ struct character_t {      int strength;      int defense;      int spirit; + +    /* one for each element */ +    enum affinity_t affinities[AFFINITY_COUNT];  };  struct team_t { diff --git a/prototypes.h b/prototypes.h index 069438d..956e9b6 100644 --- a/prototypes.h +++ b/prototypes.h @@ -39,7 +39,6 @@ void Fchangercurseurpersos (SURFACES *surfaces, POSITIONS *positions,int selecti  void Fafficherdegats (SURFACES *surfaces, POSITIONS *positions, int degats,int camp, int cible, struct team_t *ally);  void Fblitteractivedesactive (SURFACES *surfaces,POSITIONS *positions,ENNEMIS ennemis[],int selection);  void Fchangeractionselectionnee(SURFACES *surfaces, POSITIONS *positions,int selection,int page,int nbactions,int type,OBJET *objets); -void Fremplircompetencesennemis (ENNEMIS ennemis[],int Vnbennemis);  void Fblitterpvcible (SURFACES *surfaces,POSITIONS *positions,ENNEMIS ennemis[],int selection);  void Fblitterpmcible (SURFACES *surfaces,POSITIONS *positions,ENNEMIS ennemis[],int selection);  void Fchangermagienoireselectionnee(SURFACES *surfaces,POSITIONS *positions,int selection,int page,int nbactions); | 
