Commit a93e7b17d5219f6016d8c8a3cb6ed1e5613de035

Authored by Martin CHAUVELIERE
1 parent d0a3f297

Reste ReadMe et MakeFile a poffiné

Space Invader/Envahisseurs/Graphique/src/Main/init.c
@@ -26,7 +26,8 @@ struct entite joueur; @@ -26,7 +26,8 @@ struct entite joueur;
26 26
27 int canon = 0; 27 int canon = 0;
28 int missile = 0; 28 int missile = 0;
29 -int enemie = 0; 29 +int enemie1_1 = 0;
  30 +int enemie1_2 = 0;
30 int bouillie = 0; 31 int bouillie = 0;
31 int bombe = 0; 32 int bombe = 0;
32 33
@@ -44,15 +45,17 @@ int hitboxbombeH = 0; @@ -44,15 +45,17 @@ int hitboxbombeH = 0;
44 //Initialisation des variables globales pour le main 45 //Initialisation des variables globales pour le main
45 void initialiser() 46 void initialiser()
46 { 47 {
47 - canon = chargerLutin ("../../Lutins/invader_canon.bmp", 48 + canon = chargerLutin ("../../Lutins/invader_canon.bmp",
48 COULEUR_NOIR); 49 COULEUR_NOIR);
49 - missile = chargerLutin ("../../Lutins/invader_missile.bmp", 50 + missile = chargerLutin ("../../Lutins/invader_missile.bmp",
50 COULEUR_NOIR); 51 COULEUR_NOIR);
51 - enemie = chargerLutin ("../../Lutins/invader_monstre1_1.bmp", 52 + enemie1_1 = chargerLutin ("../../Lutins/invader_monstre2_1.bmp",
52 COULEUR_NOIR); 53 COULEUR_NOIR);
53 - bouillie = chargerLutin ("../../Lutins/invader_monstre_bouillie.bmp", 54 + enemie1_2 = chargerLutin ("../../Lutins/invader_monstre2_2.bmp",
54 COULEUR_NOIR); 55 COULEUR_NOIR);
55 - bombe = chargerLutin ("../../Lutins/invader_bombe.bmp", 56 + bouillie = chargerLutin ("../../Lutins/invader_monstre_bouillie.bmp",
  57 + COULEUR_NOIR);
  58 + bombe = chargerLutin ("../../Lutins/invader_bombe.bmp",
56 COULEUR_NOIR); 59 COULEUR_NOIR);
57 60
58 tailleLutin (canon, 61 tailleLutin (canon,
@@ -62,8 +65,8 @@ void initialiser() @@ -62,8 +65,8 @@ void initialiser()
62 tailleLutin (missile, 65 tailleLutin (missile,
63 &hitboxmissileL, 66 &hitboxmissileL,
64 &hitboxmissileH); 67 &hitboxmissileH);
65 -  
66 - tailleLutin (enemie, 68 + //La taille des enemmies que j'utilise est la meme dans ces 2 variantes
  69 + tailleLutin (enemie1_1,
67 &hitboxenemieL, 70 &hitboxenemieL,
68 &hitboxenemieH); 71 &hitboxenemieH);
69 72
@@ -133,10 +136,14 @@ char pagedemarrage() @@ -133,10 +136,14 @@ char pagedemarrage()
133 majSurface(); 136 majSurface();
134 attendreEvenement (); 137 attendreEvenement ();
135 138
136 - lireEvenement (&even,&input,NULL); 139 + lireEvenement (&even,
  140 + &input,
  141 + NULL);
137 while (input == '\0') 142 while (input == '\0')
138 { 143 {
139 - lireEvenement (&even,&input,NULL); 144 + lireEvenement (&even,
  145 + &input,
  146 + NULL);
140 } 147 }
141 return input; 148 return input;
142 } 149 }
@@ -149,8 +156,12 @@ void pagemort (int nbr_vie) @@ -149,8 +156,12 @@ void pagemort (int nbr_vie)
149 int Hauteur = 0; 156 int Hauteur = 0;
150 char mort[] = "Vous etes mort"; 157 char mort[] = "Vous etes mort";
151 char vie[TailleChaineMax] = "\0"; 158 char vie[TailleChaineMax] = "\0";
152 - sprintf(vie, "Nombre de vies restantes : %d", nbr_vie);  
153 - //sprint_f crée un warning mais celui-ci ne peut pas crée d'erreur 159 + sprintf (vie,
  160 + "Nombre de vies restantes : %d",
  161 + nbr_vie);
  162 + //sprintf crée un warning mais celui-ci ne peut pas crée d'erreur
  163 + //Car la taille max de la chaine ne pourra pas excéder 30 si le nombre de vie reste "normal"
  164 + //sprintf_s ne fonctionne pas pour mon programme (invalid in C99)
154 165
155 choisirPolice (policeDefaut, TaillePolice1); 166 choisirPolice (policeDefaut, TaillePolice1);
156 int LutinMort = lutinTexte(mort, COULEUR_ROUGE); 167 int LutinMort = lutinTexte(mort, COULEUR_ROUGE);
Space Invader/Envahisseurs/Graphique/src/Main/init.h
1 extern int canon; 1 extern int canon;
2 extern int missile; 2 extern int missile;
3 -extern int enemie; 3 +extern int enemie1_1;
  4 +extern int enemie1_2;
4 extern int bouillie; 5 extern int bouillie;
5 extern int bombe; 6 extern int bombe;
6 7
Space Invader/Envahisseurs/Graphique/src/Main/main.c
@@ -20,12 +20,20 @@ @@ -20,12 +20,20 @@
20 #define BombeRandomFixe 50 20 #define BombeRandomFixe 50
21 #define BombeRandomAlea 30 21 #define BombeRandomAlea 30
22 22
23 -#define VitesseTourdeBoucle 20 23 +//Pour augmenter les deplacements des enemies, vous pouvez:
  24 +//Augmenter VitesseDeplacementEnemie
  25 +//Tout les VitesseDeplacementEnemie tours de boucle les enemies se déplace
24 #define VitesseDeplacementEnemie 2 26 #define VitesseDeplacementEnemie 2
  27 +// Ou augmenter le PasEnemie (Ecart entre la position n et n+1)
  28 +#define PasEnemie 1
  29 +#define AffichageImageEnemie 8
25 30
26 #define Delai0_2s 200 31 #define Delai0_2s 200
27 #define Delai0_5s 500 32 #define Delai0_5s 500
28 #define Delai2s 2000 33 #define Delai2s 2000
  34 +
  35 +#define VitesseTourdeBoucle 20
  36 +
29 int main() 37 int main()
30 { 38 {
31 creerSurface(TailleX,TailleY,Nom); 39 creerSurface(TailleX,TailleY,Nom);
@@ -42,7 +50,9 @@ int main() @@ -42,7 +50,9 @@ int main()
42 ajout_tete(&Ljoueur,joueur); 50 ajout_tete(&Ljoueur,joueur);
43 51
44 52
45 - LigneEnemie(&ListeEnemies,NombreEnemieParLigne,NombreLigneEnemies); 53 + LigneEnemie(&ListeEnemies,
  54 + NombreEnemieParLigne,
  55 + NombreLigneEnemies);
46 int SensVague=1; 56 int SensVague=1;
47 57
48 char input = '\0'; 58 char input = '\0';
@@ -51,7 +61,8 @@ int main() @@ -51,7 +61,8 @@ int main()
51 int CheckAlea = 0; 61 int CheckAlea = 0;
52 int mort = 0; 62 int mort = 0;
53 int nbr_vie = NombreVie; 63 int nbr_vie = NombreVie;
54 - evenement even = 0; 64 + int QuelMonstre = 0;
  65 + evenement even = 0;
55 66
56 int coeur = chargerLutin ("../../Lutins/Coeur.bmp", 67 int coeur = chargerLutin ("../../Lutins/Coeur.bmp",
57 COULEUR_NOIR); 68 COULEUR_NOIR);
@@ -93,6 +104,7 @@ int main() @@ -93,6 +104,7 @@ int main()
93 } 104 }
94 //On ajoute de nouveau le joueur précedement supprimé à sa liste 105 //On ajoute de nouveau le joueur précedement supprimé à sa liste
95 ajout_tete(&Ljoueur,joueur); 106 ajout_tete(&Ljoueur,joueur);
  107 + //Desallocation dynamique des listes
96 DesallouerListe(&ListeTires); 108 DesallouerListe(&ListeTires);
97 DesallouerListe(&ListeBombes); 109 DesallouerListe(&ListeBombes);
98 } 110 }
@@ -125,10 +137,26 @@ int main() @@ -125,10 +137,26 @@ int main()
125 Ljoueur->entite.posy); 137 Ljoueur->entite.posy);
126 138
127 //Affichage des ListeEnemies 139 //Affichage des ListeEnemies
128 - AfficherEnemie(ListeEnemies,  
129 - enemie,  
130 - hitboxenemieL,  
131 - hitboxenemieH); 140 + if (QuelMonstre > 2 * AffichageImageEnemie)
  141 + {
  142 + QuelMonstre = 0;
  143 + }
  144 + if (QuelMonstre <= AffichageImageEnemie)
  145 + {
  146 + AfficherEnemie (ListeEnemies,
  147 + enemie1_1,
  148 + hitboxenemieL,
  149 + hitboxenemieH);
  150 + QuelMonstre += 1;
  151 + }
  152 + else
  153 + {
  154 + AfficherEnemie (ListeEnemies,
  155 + enemie1_2,
  156 + hitboxenemieL,
  157 + hitboxenemieH);
  158 + QuelMonstre += 1;
  159 + }
132 160
133 //Systeme pour faire drop une bombe dans un temps aléatoire 161 //Systeme pour faire drop une bombe dans un temps aléatoire
134 //Mise en place d'un timer 162 //Mise en place d'un timer
@@ -167,7 +195,7 @@ int main() @@ -167,7 +195,7 @@ int main()
167 { 195 {
168 DeplacementEnemie(ListeEnemies, 196 DeplacementEnemie(ListeEnemies,
169 &SensVague, 197 &SensVague,
170 - 1); 198 + PasEnemie);
171 TourdeBoucle = 0; 199 TourdeBoucle = 0;
172 } 200 }
173 201
@@ -176,10 +204,20 @@ int main() @@ -176,10 +204,20 @@ int main()
176 DeplacementBombe(&ListeBombes); 204 DeplacementBombe(&ListeBombes);
177 205
178 //Supression si collision des Tires et Enemies 206 //Supression si collision des Tires et Enemies
179 - SupprimerEntitesEnCollision(&ListeTires,hitboxmissileL,hitboxmissileH,&ListeEnemies,hitboxenemieL,hitboxenemieH); 207 + SupprimerEntitesEnCollision(&ListeTires,
  208 + hitboxmissileL,
  209 + hitboxmissileH,
  210 + &ListeEnemies,
  211 + hitboxenemieL,
  212 + hitboxenemieH);
180 213
181 //Supression si collision des Bombes et Joueur 214 //Supression si collision des Bombes et Joueur
182 - if (SupprimerEntitesEnCollision(&ListeBombes,hitboxbombeL,hitboxbombeH,&Ljoueur,hitboxcanonL,hitboxcanonH) == 1) 215 + if (SupprimerEntitesEnCollision(&ListeBombes,
  216 + hitboxbombeL,
  217 + hitboxbombeH,
  218 + &Ljoueur,
  219 + hitboxcanonL,
  220 + hitboxcanonH) == 1)
183 { 221 {
184 mort = 1; 222 mort = 1;
185 majSurface(); 223 majSurface();
@@ -187,7 +225,12 @@ int main() @@ -187,7 +225,12 @@ int main()
187 } 225 }
188 226
189 //Supression si collision des Enemies et Joueur 227 //Supression si collision des Enemies et Joueur
190 - if (SupprimerEntitesEnCollision(&ListeEnemies,hitboxenemieL,hitboxenemieH,&Ljoueur,hitboxcanonL,hitboxcanonH) == 1) 228 + if (SupprimerEntitesEnCollision(&ListeEnemies,
  229 + hitboxenemieL,
  230 + hitboxenemieH,
  231 + &Ljoueur,
  232 + hitboxcanonL,
  233 + hitboxcanonH) == 1)
191 { 234 {
192 pageGameOver(); 235 pageGameOver();
193 majSurface(); 236 majSurface();