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 26  
27 27 int canon = 0;
28 28 int missile = 0;
29   -int enemie = 0;
  29 +int enemie1_1 = 0;
  30 +int enemie1_2 = 0;
30 31 int bouillie = 0;
31 32 int bombe = 0;
32 33  
... ... @@ -44,15 +45,17 @@ int hitboxbombeH = 0;
44 45 //Initialisation des variables globales pour le main
45 46 void initialiser()
46 47 {
47   - canon = chargerLutin ("../../Lutins/invader_canon.bmp",
  48 + canon = chargerLutin ("../../Lutins/invader_canon.bmp",
48 49 COULEUR_NOIR);
49   - missile = chargerLutin ("../../Lutins/invader_missile.bmp",
  50 + missile = chargerLutin ("../../Lutins/invader_missile.bmp",
50 51 COULEUR_NOIR);
51   - enemie = chargerLutin ("../../Lutins/invader_monstre1_1.bmp",
  52 + enemie1_1 = chargerLutin ("../../Lutins/invader_monstre2_1.bmp",
52 53 COULEUR_NOIR);
53   - bouillie = chargerLutin ("../../Lutins/invader_monstre_bouillie.bmp",
  54 + enemie1_2 = chargerLutin ("../../Lutins/invader_monstre2_2.bmp",
54 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 59 COULEUR_NOIR);
57 60  
58 61 tailleLutin (canon,
... ... @@ -62,8 +65,8 @@ void initialiser()
62 65 tailleLutin (missile,
63 66 &hitboxmissileL,
64 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 70 &hitboxenemieL,
68 71 &hitboxenemieH);
69 72  
... ... @@ -133,10 +136,14 @@ char pagedemarrage()
133 136 majSurface();
134 137 attendreEvenement ();
135 138  
136   - lireEvenement (&even,&input,NULL);
  139 + lireEvenement (&even,
  140 + &input,
  141 + NULL);
137 142 while (input == '\0')
138 143 {
139   - lireEvenement (&even,&input,NULL);
  144 + lireEvenement (&even,
  145 + &input,
  146 + NULL);
140 147 }
141 148 return input;
142 149 }
... ... @@ -149,8 +156,12 @@ void pagemort (int nbr_vie)
149 156 int Hauteur = 0;
150 157 char mort[] = "Vous etes mort";
151 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 166 choisirPolice (policeDefaut, TaillePolice1);
156 167 int LutinMort = lutinTexte(mort, COULEUR_ROUGE);
... ...
Space Invader/Envahisseurs/Graphique/src/Main/init.h
1 1 extern int canon;
2 2 extern int missile;
3   -extern int enemie;
  3 +extern int enemie1_1;
  4 +extern int enemie1_2;
4 5 extern int bouillie;
5 6 extern int bombe;
6 7  
... ...
Space Invader/Envahisseurs/Graphique/src/Main/main.c
... ... @@ -20,12 +20,20 @@
20 20 #define BombeRandomFixe 50
21 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 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 31 #define Delai0_2s 200
27 32 #define Delai0_5s 500
28 33 #define Delai2s 2000
  34 +
  35 +#define VitesseTourdeBoucle 20
  36 +
29 37 int main()
30 38 {
31 39 creerSurface(TailleX,TailleY,Nom);
... ... @@ -42,7 +50,9 @@ int main()
42 50 ajout_tete(&Ljoueur,joueur);
43 51  
44 52  
45   - LigneEnemie(&ListeEnemies,NombreEnemieParLigne,NombreLigneEnemies);
  53 + LigneEnemie(&ListeEnemies,
  54 + NombreEnemieParLigne,
  55 + NombreLigneEnemies);
46 56 int SensVague=1;
47 57  
48 58 char input = '\0';
... ... @@ -51,7 +61,8 @@ int main()
51 61 int CheckAlea = 0;
52 62 int mort = 0;
53 63 int nbr_vie = NombreVie;
54   - evenement even = 0;
  64 + int QuelMonstre = 0;
  65 + evenement even = 0;
55 66  
56 67 int coeur = chargerLutin ("../../Lutins/Coeur.bmp",
57 68 COULEUR_NOIR);
... ... @@ -93,6 +104,7 @@ int main()
93 104 }
94 105 //On ajoute de nouveau le joueur précedement supprimé à sa liste
95 106 ajout_tete(&Ljoueur,joueur);
  107 + //Desallocation dynamique des listes
96 108 DesallouerListe(&ListeTires);
97 109 DesallouerListe(&ListeBombes);
98 110 }
... ... @@ -125,10 +137,26 @@ int main()
125 137 Ljoueur->entite.posy);
126 138  
127 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 161 //Systeme pour faire drop une bombe dans un temps aléatoire
134 162 //Mise en place d'un timer
... ... @@ -167,7 +195,7 @@ int main()
167 195 {
168 196 DeplacementEnemie(ListeEnemies,
169 197 &SensVague,
170   - 1);
  198 + PasEnemie);
171 199 TourdeBoucle = 0;
172 200 }
173 201  
... ... @@ -176,10 +204,20 @@ int main()
176 204 DeplacementBombe(&ListeBombes);
177 205  
178 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 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 222 mort = 1;
185 223 majSurface();
... ... @@ -187,7 +225,12 @@ int main()
187 225 }
188 226  
189 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 235 pageGameOver();
193 236 majSurface();
... ...