Commit 7094c494a676100482604c62edecdb42aa603b69

Authored by Martin CHAUVELIERE
1 parent c1ee1f58

Améliorations finales

Space Invader/Envahisseurs/Graphique/src/Interactif/Interactif.c
... ... @@ -6,15 +6,18 @@
6 6 #include "Interactif.h"
7 7 #include "../Main/init.h"
8 8  
9   -#define TailleX 500
10   -#define TailleY 500
11   -#define Sol 475
  9 +#define TailleX 500
  10 +#define TailleY 500
  11 +#define Sol 475
12 12 #define ErreurHitbox 2
13   -#define ValeurDeplacementTire 5
  13 +#define TailleX9_10 (9 * TailleX / 10)
  14 +#define TailleX1_10 (TailleX / 10)
  15 +
  16 +#define ValeurDeplacementTire 5
14 17 #define ValeurDeplacementJoueur 3
15   -#define ValeurDeplacementBombe 2
16   -#define TailleX9_10 9 * TailleX / 10
17   -#define TailleX1_10 TailleX / 10
  18 +#define ValeurDeplacementBombe 2
  19 +
  20 +
18 21  
19 22 int CheckCollisionEntiteEntite (struct entite entite1,
20 23 int L1,
... ... @@ -97,7 +100,12 @@ struct liste_entite* CheckCollisionListeListe (struct liste_entite* Liste1,
97 100 pListe2->entite,
98 101 L2,
99 102 H2);
100   - if (collision != NULL)
  103 + if (collision == NULL)
  104 + {
  105 + pListe2 = pListe2->suivant;
  106 + }
  107 +
  108 + else
101 109 {
102 110 // Création des structures pour les deux entités
103 111 struct liste_entite* Entite1 = malloc(sizeof(struct liste_entite));
... ... @@ -113,9 +121,6 @@ struct liste_entite* CheckCollisionListeListe (struct liste_entite* Liste1,
113 121  
114 122 return Entite1;
115 123 }
116   -
117   - else
118   - pListe2 = pListe2->suivant;
119 124 }
120 125  
121 126 return NULL;
... ... @@ -161,18 +166,7 @@ void DeplacementTire(struct liste_entite** Liste)
161 166 }
162 167  
163 168  
164   -
165   -//La fonction renvoie la touche préssée
166   -char touche()
167   -{
168   - char touche;
169   - evenement even;
170   - lireEvenement (&even,&touche,NULL);
171   - return touche;
172   -}
173   -
174   -
175   -//Fais une action soit au joueur soit aux tires selon la touche préssée
  169 +//La fonction fait une action soit au joueur soit aux tires selon la touche préssée
176 170 void action(struct entite* joueur,
177 171 char c,
178 172 struct liste_entite** tires)
... ... @@ -201,9 +195,11 @@ void action(struct entite* joueur,
201 195 }
202 196  
203 197 //La fonction crée une liste de tout les enemies pouvant drop des bombes
204   -//Puis ajoute à la liste bombe, une bombe random provenant d'un des enemies pouvant drop des bombes
205   -void MakeBombeDroppable (struct liste_entite* enemies,
206   - struct liste_entite** bombes)
  198 +//Ceux les plus bas de leur colonne
  199 +//Puis ajoute à la liste bombe, une bombe provenant d'un des enemies pouvant drop des bombes
  200 +//Le choix de quel enemie drop la bombe est aléatoire
  201 +void MakeBombeDrop (struct liste_entite* enemies,
  202 + struct liste_entite** bombes)
207 203 {
208 204  
209 205 struct liste_entite* pListe = enemies;
... ... @@ -226,9 +222,12 @@ void MakeBombeDroppable (struct liste_entite* enemies,
226 222 {
227 223 return;
228 224 }
229   -
  225 + //On choisit une valeur aléatoire qui représente l'enemie qui va drop la bombe
  226 + //Il ya un warning comme quoi rand() à une limite
  227 + //Mais on ne la dépassera jamais, taille ne pourra
  228 + //jamais excédé une vingtaine d'enemies par ligne
230 229 int randomIndex = rand() % taille-1;
231   - struct liste_entite* pDropable = Dropable;
  230 + struct liste_entite* pDropable = Dropable;
232 231  
233 232 for (int i = 0; i <= randomIndex; i++)
234 233 {
... ... @@ -241,11 +240,10 @@ void MakeBombeDroppable (struct liste_entite* enemies,
241 240 -1));
242 241 }
243 242  
244   -//
  243 +
245 244 void DeplacementBombe(struct liste_entite** Liste)
246 245 {
247 246 struct liste_entite* pListe = *Liste;
248   - struct liste_entite* precedent = NULL;
249 247  
250 248 while (pListe != NULL)
251 249 {
... ... @@ -264,13 +262,13 @@ void DeplacementBombe(struct liste_entite** Liste)
264 262 afficherLutin(bombe,
265 263 pListe->entite.posx - hitboxbombeL/2 + ErreurHitbox,
266 264 pListe->entite.posy - hitboxbombeH/2 + ErreurHitbox);
267   - precedent = pListe;
268 265 pListe = pListe->suivant;
269 266 }
270 267 }
271 268 }
272 269  
273   -
  270 +//Si un enemie est éliminé et qu'il etait le plus bas de sa colonne (il pouvait drop des bombes)
  271 +//Alors si il y en a un l'enemie au dessus de lui (de la meme colonne) peut drop des bombes
274 272 void NouveauDroppeurBombe (struct liste_entite** liste,
275 273 struct entite* entite)
276 274 {
... ... @@ -314,7 +312,7 @@ void NouveauDroppeurBombe (struct liste_entite** liste,
314 312  
315 313  
316 314  
317   -
  315 +//Fonction principale qui supprime les entités rentrées en collision de leur liste
318 316 int SupprimerEntitesEnCollision (struct liste_entite** Liste1,
319 317 int L1,
320 318 int H1,
... ...
Space Invader/Envahisseurs/Graphique/src/Interactif/Interactif.h
... ... @@ -28,14 +28,12 @@ void Tirer (struct entite joueur,
28 28  
29 29 void DeplacementTire(struct liste_entite** Liste);
30 30  
31   -char touche();
32   -
33 31 void action(struct entite* joueur,
34 32 char c,
35 33 struct liste_entite** tires);
36 34  
37   -void MakeBombeDroppable (struct liste_entite* enemies,
38   - struct liste_entite** bombes);
  35 +void MakeBombeDrop (struct liste_entite* enemies,
  36 + struct liste_entite** bombes);
39 37  
40 38 void DeplacementBombe(struct liste_entite** Liste) ;
41 39  
... ...
Space Invader/Envahisseurs/Graphique/src/ListeC/Liste.c
... ... @@ -67,3 +67,12 @@ void SupprimerEntite (struct liste_entite** Liste,
67 67 }
68 68 }
69 69  
  70 +
  71 +//Desallouer une liste entiere
  72 +void DesallouerListe (struct liste_entite** Liste)
  73 +{
  74 + while(*Liste != NULL)
  75 + {
  76 + SupprimerEntite(Liste,&((*Liste)->entite));
  77 + }
  78 +}
... ...
Space Invader/Envahisseurs/Graphique/src/ListeC/Liste.h
... ... @@ -29,3 +29,4 @@ void ajout_tete (struct liste_entite** Liste,
29 29 void SupprimerEntite (struct liste_entite** Liste,
30 30 struct entite* entite);
31 31  
  32 +void DesallouerListe (struct liste_entite** Liste);
... ...
Space Invader/Envahisseurs/Graphique/src/Main/Makefile
... ... @@ -30,5 +30,5 @@ clean:
30 30 rm -f $(TARGET)
31 31  
32 32 tidy : main.c ../ListeC/Liste.c ../Monstre/Monstre.c ../Interactif/Interactif.c init.c
33   - $(CC)-tidy ../Interactif/Interactif.c --checks="readability-*" -header-filter=.*
  33 + $(CC)-tidy main.c ../ListeC/Liste.c ../Monstre/Monstre.c ../Interactif/Interactif.c init.c --checks="*" -header-filter=.*
34 34  
... ...
Space Invader/Envahisseurs/Graphique/src/Main/init.c
... ... @@ -6,22 +6,21 @@
6 6 #include "../Interactif/Interactif.h"
7 7 #include "init.h"
8 8  
9   -#define TailleX 500
10   -#define TailleY 500
11   -#define PositionX_1 TailleX / 2
12   -#define PositionY_1 TailleY / 2
13   -#define PositionY_2 TailleY / 4
14   -
15   -#define Sol 475
  9 +#define TailleX 500
  10 +#define TailleY 500
  11 +#define Sol 475
16 12 #define ErreurHitbox 2
17   -#define TailletexteMax 30
  13 +#define PositionX_1 (TailleX / 2)
  14 +#define PositionY_1 (TailleY / 2)
  15 +#define PositionY_2 (TailleY / 4)
18 16  
19   -#define JoueurX TailleX/2
20   -#define JoueurY 9*TailleY/10
  17 +#define JoueurX (TailleX / 2)
  18 +#define JoueurY (9 * TailleY / 10)
21 19  
22 20 #define Nom "Space Invader"
23   -#define TaillePolice1 TailleX / 10
24   -#define TaillePolice2 TailleX / 20
  21 +#define TaillePolice1 (TailleX / 10)
  22 +#define TaillePolice2 (TailleX / 20)
  23 +#define TailleChaineMax 30
25 24  
26 25 //Ces variables sont globales car utilisées dans plusieurs .c
27 26 //Toutes les hitbox sont initialisées 1 fois puis sont des constantes
... ... @@ -29,7 +28,7 @@ struct entite joueur;
29 28  
30 29 int canon = 0;
31 30 int missile = 0;
32   -int sbire = 0;
  31 +int enemie = 0;
33 32 int bouillie = 0;
34 33 int bombe = 0;
35 34  
... ... @@ -37,8 +36,8 @@ int hitboxcanonL = 0;
37 36 int hitboxcanonH = 0;
38 37 int hitboxmissileL = 0;
39 38 int hitboxmissileH = 0;
40   -int hitboxsbireL = 0;
41   -int hitboxsbireH = 0;
  39 +int hitboxenemieL = 0;
  40 +int hitboxenemieH = 0;
42 41 int hitboxbouillieL = 0;
43 42 int hitboxbouillieH = 0;
44 43 int hitboxbombeL = 0;
... ... @@ -51,7 +50,7 @@ void initialiser()
51 50 COULEUR_NOIR);
52 51 missile = chargerLutin ("../../Lutins/invader_missile.bmp",
53 52 COULEUR_NOIR);
54   - sbire = chargerLutin ("../../Lutins/invader_monstre1_1.bmp",
  53 + enemie = chargerLutin ("../../Lutins/invader_monstre1_1.bmp",
55 54 COULEUR_NOIR);
56 55 bouillie = chargerLutin ("../../Lutins/invader_monstre_bouillie.bmp",
57 56 COULEUR_NOIR);
... ... @@ -66,9 +65,9 @@ void initialiser()
66 65 &hitboxmissileL,
67 66 &hitboxmissileH);
68 67  
69   - tailleLutin (sbire,
70   - &hitboxsbireL,
71   - &hitboxsbireH);
  68 + tailleLutin (enemie,
  69 + &hitboxenemieL,
  70 + &hitboxenemieH);
72 71  
73 72 tailleLutin (bouillie,
74 73 &hitboxbouillieL,
... ... @@ -81,22 +80,23 @@ void initialiser()
81 80 }
82 81  
83 82 //Initialisation des coordonnées du joueur pour le main
84   -void initialiserjoueur(struct entite* joueur)
  83 +void initialiserjoueur()
85 84 {
86   - joueur->posx = JoueurX;
87   - joueur->posy = JoueurY;
88   - joueur->dropbombe = -1;
  85 + joueur.posx = JoueurX;
  86 + joueur.posy = JoueurY;
  87 + joueur.dropbombe = -1;
89 88 }
90 89  
91 90 //Page de démarage du jeu
92 91 char pagedemarrage()
93 92 {
94 93 static const char policeDefaut[] = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf";
95   - char input = '\0';
96   - int Largeur = 0;
97   - int Hauteur = 0;
98   - char jouer[] = "Appuyer sur j pour Jouer";
99   - char quitter[] = "Appuyer ailleurs pour Quitter";
  94 + char input = '\0';
  95 + evenement even = 0;
  96 + int Largeur = 0;
  97 + int Hauteur = 0;
  98 + char jouer[] = "Appuyer sur j pour Jouer";
  99 + char quitter[] = "Appuyer ailleurs pour Quitter";
100 100  
101 101 choisirPolice (policeDefaut, TaillePolice2);
102 102 int LutinJouer = lutinTexte (jouer, COULEUR_BLANC);
... ... @@ -135,10 +135,10 @@ char pagedemarrage()
135 135 majSurface();
136 136 attendreEvenement ();
137 137  
138   - input = touche();
  138 + lireEvenement (&even,&input,NULL);
139 139 while (input == '\0')
140 140 {
141   - input = touche();
  141 + lireEvenement (&even,&input,NULL);
142 142 }
143 143 return input;
144 144 }
... ... @@ -150,7 +150,7 @@ void pagemort (int nbr_vie)
150 150 int Largeur = 0;
151 151 int Hauteur = 0;
152 152 char mort[] = "Vous etes mort";
153   - char vie[TailletexteMax] = "eMax] = "\0";";
  153 + char vie[TailleChaineMax] = "eMax] = "\0";";
154 154 sprintf(vie, "Nombre de vie restante : %d", nbr_vie);
155 155 //sprint_f crée un warning mais celui-ci ne peut pas crée d'erreur
156 156  
... ...
Space Invader/Envahisseurs/Graphique/src/Main/init.h
... ... @@ -3,7 +3,7 @@
3 3  
4 4 extern int canon;
5 5 extern int missile;
6   -extern int sbire;
  6 +extern int enemie;
7 7 extern int bouillie;
8 8 extern int bombe;
9 9  
... ... @@ -15,15 +15,15 @@ extern int hitboxcanonL;
15 15 extern int hitboxcanonH;
16 16 extern int hitboxmissileL;
17 17 extern int hitboxmissileH;
18   -extern int hitboxsbireL;
19   -extern int hitboxsbireH;
  18 +extern int hitboxenemieL;
  19 +extern int hitboxenemieH;
20 20 extern int hitboxbouillieL;
21 21 extern int hitboxbouillieH;
22 22 extern int hitboxbombeL;
23 23 extern int hitboxbombeH;
24 24  
25 25 void initialiser();
26   -void initialiserjoueur(struct entite* joueur);
  26 +void initialiserjoueur();
27 27 char pagedemarrage();
28 28 void pagemort(int nbr_vie);
29 29 void pageGameOver();
... ...
Space Invader/Envahisseurs/Graphique/src/Main/main.c
... ... @@ -8,40 +8,58 @@
8 8 #include "../Interactif/Interactif.h"
9 9 #include "init.h"
10 10  
11   -#define TailleX 500
12   -#define TailleY 500
13   -#define Sol 475
  11 +#define TailleX 500
  12 +#define TailleY 500
  13 +#define Sol 475
  14 +#define EpaisseurSol 2
14 15 #define ErreurHitbox 2
15   -#define Nom "Space Invader"
16 16  
  17 +#define Nom "Space Invader"
  18 +#define NombreEnemieParLigne 8
  19 +#define NombreLigneEnemies 3
  20 +#define NombreVie 3
  21 +
  22 +#define BombeRandomFixe 50
  23 +#define BombeRandomAlea 30
  24 +
  25 +#define VitesseTourdeBoucle 20
  26 +#define VitesseDeplacementEnemie 2
  27 +
  28 +#define Delai0_2s 200
  29 +#define Delai0_5s 500
  30 +#define Delai2s 2000
17 31 int main()
18 32 {
19 33 creerSurface(TailleX,TailleY,Nom);
20 34  
21 35 initialiser();
22   - initialiserjoueur(&joueur);
  36 + initialiserjoueur();
23 37  
24   - struct liste_entite *enemies = NULL;
25   - struct liste_entite *tires = NULL;
26   - struct liste_entite *bombes = NULL;
27   - //joueur est dans une liste pour que je puisse utiliser des fonctions deja créé
  38 + struct liste_entite* ListeEnemies = NULL;
  39 + struct liste_entite* ListeTires = NULL;
  40 + struct liste_entite* ListeBombes = NULL;
  41 +
  42 + //joueur est dans une liste afin d'utiliser des fonctions deja crée
28 43 struct liste_entite* Ljoueur = NULL;
29 44 ajout_tete(&Ljoueur,joueur);
30 45  
31 46  
32   - LigneSbire(&enemies,8,3);
  47 + LigneEnemie(&ListeEnemies,NombreEnemieParLigne,NombreLigneEnemies);
33 48 int SensVague=1;
34 49  
35   - char input = '\0';
36   - int compteur = 0;
37   - int DropAlea = 0;
38   - int CheckAlea = 0;
39   - int mort = 0;
40   - int nbr_vie = 3;
  50 + char input = '\0';
  51 + int TourdeBoucle = 0;
  52 + int TimeAlea = 0;
  53 + int CheckAlea = 0;
  54 + int mort = 0;
  55 + int nbr_vie = NombreVie;
  56 + evenement even = 0;
41 57  
42 58 int coeur = chargerLutin ("../../Lutins/Coeur.bmp",
43 59 COULEUR_NOIR);
44   - int hitboxcoeurL,hitboxcoeurH;
  60 + int hitboxcoeurL = 0;
  61 + int hitboxcoeurH = 0;
  62 +
45 63 tailleLutin (coeur,
46 64 &hitboxcoeurL,
47 65 &hitboxcoeurH);
... ... @@ -50,105 +68,151 @@ int main()
50 68 {
51 69 return 0;
52 70 }
53   - SDL_Delay(500);
  71 + SDL_Delay(Delai0_5s);
54 72  
55 73 //Bouble principale
56 74 while(input!='m')
57 75 {
  76 + //Si le joueur est mort
58 77 if (mort == 1)
59 78 {
60 79 nbr_vie-=1;
  80 + //Si il lui reste des vies
61 81 if (nbr_vie > 0)
62 82 {
63 83 pagemort(nbr_vie);
64 84 majSurface();
65   - SDL_Delay(2000);
  85 + SDL_Delay(Delai2s);
66 86 mort = 0;
67 87 }
  88 + //Si il n'a plus de vie
68 89 else
69 90 {
70 91 pageGameOver();
71 92 majSurface();
72   - SDL_Delay(2000);
  93 + SDL_Delay(Delai2s);
73 94 return 0;
74 95 }
  96 + //On ajoute de nouveau le joueur précedement supprimé à sa liste
75 97 ajout_tete(&Ljoueur,joueur);
76   - tires = NULL;
77   - bombes = NULL;
  98 + DesallouerListe(&ListeTires);
  99 + DesallouerListe(&ListeBombes);
78 100 }
79 101  
80   - rectanglePlein(0,0,TailleX,TailleY,COULEUR_NOIR);
  102 + //Affichage Rectangle Noir sur toute la page
  103 + rectanglePlein(0,
  104 + 0,
  105 + TailleX,
  106 + TailleY,
  107 + COULEUR_NOIR);
81 108  
82   - if (nbr_vie == 3)
83   - {
84   - afficherLutin(coeur,Sol-2*hitboxcoeurL,Sol);
85   - }
86   - if (nbr_vie >= 2)
  109 + //Affichage des coeurs de vie
  110 + for (int i = 1 ; i <= nbr_vie; i++)
87 111 {
88   - afficherLutin(coeur,Sol-hitboxcoeurL,Sol);
  112 + afficherLutin(coeur,
  113 + TailleX - i * hitboxcoeurL,
  114 + Sol);
89 115 }
90   - afficherLutin(coeur,Sol,Sol);
91 116  
92   - rectanglePlein(0,Sol,TailleX,2,COULEUR_VERT);
  117 + //Affichage du Sol
  118 + rectanglePlein(0,
  119 + Sol,
  120 + TailleX,
  121 + EpaisseurSol,
  122 + COULEUR_VERT);
93 123  
  124 + //Affichage du joueur
  125 + afficherLutin(canon,
  126 + Ljoueur->entite.posx - hitboxcanonL/2 + ErreurHitbox,
  127 + Ljoueur->entite.posy);
94 128  
95   - afficherLutin(canon,Ljoueur->entite.posx - hitboxcanonL/2 + ErreurHitbox,Ljoueur->entite.posy);
96   - AfficherSbire(enemies,sbire,hitboxsbireL,hitboxsbireH);
  129 + //Affichage des ListeEnemies
  130 + AfficherEnemie(ListeEnemies,
  131 + enemie,
  132 + hitboxenemieL,
  133 + hitboxenemieH);
97 134  
98   - if (DropAlea == 0)
  135 + //Systeme pour faire drop une bombe dans un temps aléatoire
  136 + //Mise en place d'un timer
  137 + //TimeAlea représente le nombre de tour de boucle à éffectuer
  138 + if (TimeAlea == 0)
99 139 {
100   - DropAlea = rand() % 31 + 100;
  140 + //50 tour de boucle minimum + une valeur de 0 à 31
  141 + TimeAlea = rand() % BombeRandomAlea + BombeRandomFixe;
  142 + //Il y a un warning car rand() à une valeur limite que l'on ne dépasse pas
101 143 }
102   - if (CheckAlea == DropAlea)
  144 + //CheckAlea est incrémenté de 1 à chaque tour de boucle
  145 + //Lorsque celui ci vaut TimeAlea on peut drop une bombe
  146 + //On reset à 0 le Timer et le Check aprés avoir Drop une bombe
  147 + if (CheckAlea == TimeAlea)
103 148 {
104   - MakeBombeDroppable(enemies,&bombes);
105   - DropAlea=0;
  149 + MakeBombeDrop(ListeEnemies,
  150 + &ListeBombes);
  151 + TimeAlea=0;
106 152 CheckAlea=0;
107 153 }
108 154  
  155 + //Gestion des evenements clavier
  156 + //On ne peut appuyer que sur une seule touche à la fois
  157 + lireEvenement (&even,
  158 + &input,
  159 + NULL);
  160 + if (even == toucheBas)
  161 + {
  162 + action(&Ljoueur->entite,
  163 + input,
  164 + &ListeTires);
  165 + }
109 166  
110   - input = touche();
111   - action(&Ljoueur->entite,input,&tires);
112   -
113   -
114   - if (compteur==2)
  167 + //Deplacement des enemies tout les X tours de boucle
  168 + if (TourdeBoucle == VitesseDeplacementEnemie)
115 169 {
116   - DeplacementSbire(enemies,&SensVague,1);
117   - compteur=0;
  170 + DeplacementEnemie(ListeEnemies,
  171 + &SensVague,
  172 + 1);
  173 + TourdeBoucle = 0;
118 174 }
119 175  
120   - DeplacementTire(&tires);
121   - DeplacementBombe(&bombes);
  176 + //Deplacement des Tires et Bombes
  177 + DeplacementTire(&ListeTires);
  178 + DeplacementBombe(&ListeBombes);
122 179  
123   - SupprimerEntitesEnCollision(&tires,hitboxmissileL,hitboxmissileH,&enemies,hitboxsbireL,hitboxsbireH);
  180 + //Supression si collision des Tires et Enemies
  181 + SupprimerEntitesEnCollision(&ListeTires,hitboxmissileL,hitboxmissileH,&ListeEnemies,hitboxenemieL,hitboxenemieH);
124 182  
125   - if (SupprimerEntitesEnCollision(&bombes,hitboxbombeL,hitboxbombeH,&Ljoueur,hitboxcanonL,hitboxcanonH) == 1)
  183 + //Supression si collision des Bombes et Joueur
  184 + if (SupprimerEntitesEnCollision(&ListeBombes,hitboxbombeL,hitboxbombeH,&Ljoueur,hitboxcanonL,hitboxcanonH) == 1)
126 185 {
127 186 mort = 1;
128 187 majSurface();
129   - SDL_Delay(200);
  188 + SDL_Delay(Delai0_2s);
130 189 }
131   - if (SupprimerEntitesEnCollision(&enemies,hitboxsbireL,hitboxsbireH,&Ljoueur,hitboxcanonL,hitboxcanonH) == 1)
  190 +
  191 + //Supression si collision des Enemies et Joueur
  192 + if (SupprimerEntitesEnCollision(&ListeEnemies,hitboxenemieL,hitboxenemieH,&Ljoueur,hitboxcanonL,hitboxcanonH) == 1)
132 193 {
133 194 pageGameOver();
134 195 majSurface();
135   - SDL_Delay(2000);
  196 + SDL_Delay(Delai2s);
136 197 return 0;
137 198 }
138 199  
139   - if (enemies == NULL)
  200 + //Si il n'y a plus d'enemies, c'est une victoire !!!
  201 + if (ListeEnemies == NULL)
140 202 {
141 203 pageVictoire();
142 204 majSurface();
143   - SDL_Delay(2000);
  205 + SDL_Delay(Delai2s);
144 206 return 0;
145 207 }
146 208  
  209 +
147 210 majSurface();
148   - SDL_Delay(20);
149 211  
150   - compteur += 1;
  212 + TourdeBoucle += 1;
151 213 CheckAlea += 1;
  214 +
  215 + SDL_Delay(VitesseTourdeBoucle);
152 216  
153 217 }
154 218 return 0;
... ...
Space Invader/Envahisseurs/Graphique/src/Monstre/Monstre.c
... ... @@ -5,19 +5,19 @@
5 5 #include "../ListeC/Liste.h"
6 6 #include "Monstre.h"
7 7  
8   -#define TailleX 500
9   -#define TailleY 500
  8 +#define TailleX 500
  9 +#define TailleY 500
10 10 #define ErreurHitbox 2
11 11  
12   -#define Taille1_10 TailleX / 10
13   -#define Taille9_10 9 * TailleX / 10
  12 +#define Taille1_10 (TailleX / 10)
  13 +#define Taille9_10 (9 * TailleX / 10)
14 14 #define TailleJump 30
15 15  
16 16 //Sens = 1 -> Va vers la droite
17 17 //Sens = 0 -> Va vers la gauche
18   -void DeplacementSbire(struct liste_entite* Liste,
  18 +void DeplacementEnemie(struct liste_entite* Liste,
19 19 int* SensDeplacement,
20   - int Vitesse)
  20 + int Pas)
21 21 {
22 22  
23 23 int ind = 0;
... ... @@ -25,7 +25,7 @@ void DeplacementSbire(struct liste_entite* Liste,
25 25  
26 26 while (pListe != NULL)
27 27 {
28   - pListe->entite.posx += (*SensDeplacement == 1) ? Vitesse : -Vitesse;
  28 + pListe->entite.posx += (*SensDeplacement == 1) ? Pas : -Pas;
29 29 if (pListe->entite.posx >= Taille9_10)
30 30 {
31 31 ind = 1;
... ... @@ -53,7 +53,7 @@ void DeplacementSbire(struct liste_entite* Liste,
53 53 }
54 54  
55 55 //Création de lignes d'entités enemies dans la liste enemies
56   -void LigneSbire (struct liste_entite** ListeSbire,
  56 +void LigneEnemie (struct liste_entite** ListeEnemie,
57 57 int nbr_enemies,
58 58 int nbr_rangee)
59 59 {
... ... @@ -67,7 +67,7 @@ void LigneSbire (struct liste_entite** ListeSbire,
67 67 {
68 68 if (j == nbr_rangee)
69 69 {
70   - ajout_tete(ListeSbire,
  70 + ajout_tete(ListeEnemie,
71 71 creer_entite(compteurX,
72 72 compteurY,
73 73 1));
... ... @@ -76,7 +76,7 @@ void LigneSbire (struct liste_entite** ListeSbire,
76 76  
77 77 else
78 78 {
79   - ajout_tete(ListeSbire,
  79 + ajout_tete(ListeEnemie,
80 80 creer_entite(compteurX,
81 81 compteurY,
82 82 0));
... ... @@ -87,7 +87,7 @@ void LigneSbire (struct liste_entite** ListeSbire,
87 87 }
88 88  
89 89 //Affichage des enemies centrés dans leur hitbox
90   -void AfficherSbire (struct liste_entite* Liste,
  90 +void AfficherEnemie (struct liste_entite* Liste,
91 91 int lutin,
92 92 int Largeur,
93 93 int Hauteur)
... ...
Space Invader/Envahisseurs/Graphique/src/Monstre/Monstre.h
1 1 #include <stdio.h>
2 2 #include <stdlib.h>
3 3  
4   -void DeplacementSbire(struct liste_entite* Liste,
  4 +void DeplacementEnemie(struct liste_entite* Liste,
5 5 int* SensDeplacement,
6   - int Vitesse);
  6 + int Pas);
7 7  
8   -void LigneSbire (struct liste_entite** ListeSbire,
  8 +void LigneEnemie (struct liste_entite** ListeEnemie,
9 9 int nbr_enemies,
10 10 int nbr_rangee);
11 11  
12   -void AfficherSbire (struct liste_entite* Liste,
  12 +void AfficherEnemie (struct liste_entite* Liste,
13 13 int lutin,
14 14 int Largeur,
15 15 int Hauteur);
... ...