Commit c1ee1f58c1c77285c4047890881dfddd0f7a0315

Authored by Martin CHAUVELIERE
1 parent 1e8c0804

Suppresion nuisible

Graphique/Makefile deleted
@@ -1,29 +0,0 @@ @@ -1,29 +0,0 @@
1 -#  
2 -# Makefile pour la bibliotheque graphique  
3 -#  
4 -  
5 -SOURCES = $(wildcard *.c)  
6 -OBJETS = $(SOURCES:.c=.o)  
7 -CIBLE = libgraph.a  
8 -  
9 -#  
10 -# Nom de la cible principale  
11 -#  
12 -  
13 -all: $(CIBLE)  
14 -  
15 -#  
16 -# Cible de nettoyage  
17 -#  
18 -  
19 -clean:  
20 - rm -f core *.o $(CIBLE)  
21 -  
22 -#  
23 -# Dependances pour la bibliotheque  
24 -#  
25 -  
26 -$(CIBLE): $(OBJETS)  
27 - $(AR) rs $@ $?  
28 -  
29 -$(CIBLE:.a=).o: $(CIBLE:.a=).c $(CIBLE:.a=).h  
Graphique/libgraph.c deleted
@@ -1,239 +0,0 @@ @@ -1,239 +0,0 @@
1 -/**** Bibliotheque graphique ****/  
2 -  
3 -/** Fichiers d'inclusion **/  
4 -  
5 -#include <SDL/SDL.h>  
6 -#include <SDL/SDL_ttf.h>  
7 -#include "libgraph.h"  
8 -  
9 -/** Types **/  
10 -  
11 -typedef struct  
12 -{  
13 - int r, v, b;  
14 -} couleur;  
15 -  
16 -/** Constantes **/  
17 -  
18 -#define BITS_PAR_PIXEL 32  
19 -#define TAILLE_POLICE 20  
20 -  
21 -static const couleur couleurs[] = { { 255, 255, 255 }, { 0, 0, 0 }, { 255, 0, 0 },  
22 - { 0, 255, 0 }, { 0, 0, 255 }, { 255, 105, 180 },  
23 - { 150, 150, 150 }, { -1, -1, -1 } };  
24 -  
25 -static const char policeDefaut[]="/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf";  
26 -  
27 -/** Variables globales **/  
28 -  
29 -static SDL_Surface *surface;  
30 -TTF_Font* police;  
31 -  
32 -/** Fonctions **/  
33 -  
34 -void choisirPolice(const char *chemin, int taille){  
35 - police=TTF_OpenFont(chemin, taille);  
36 -}  
37 -  
38 -void initialiserTexte() {  
39 - TTF_Init();  
40 - choisirPolice(policeDefaut, TAILLE_POLICE);  
41 -}  
42 -  
43 -/* Initialisation de la surface dessinable */  
44 -unsigned char creerSurface (int largeur, int hauteur, char *titre)  
45 -{  
46 - SDL_Init (SDL_INIT_VIDEO);  
47 - SDL_WM_SetCaption (titre, titre);  
48 - surface = SDL_SetVideoMode (largeur, hauteur, BITS_PAR_PIXEL, SDL_DOUBLEBUF);  
49 - initialiserTexte();  
50 -  
51 - return (surface != NULL && police != NULL);  
52 -}  
53 -  
54 -/* Fermeture de la surface dessinable */  
55 -  
56 -void fermerSurface (void)  
57 -{  
58 - if (surface != NULL) SDL_FreeSurface (surface);  
59 - if (police != NULL) TTF_CloseFont(police);  
60 - TTF_Quit();  
61 - SDL_Quit ();  
62 -}  
63 -  
64 -/* Creation d'une couleur */  
65 -  
66 -static int creerCouleur (int ncouleur)  
67 -{  
68 - couleur c = couleurs[ncouleur];  
69 - return SDL_MapRGB (surface->format, c.r, c.v, c.b);  
70 -}  
71 -  
72 -/* Dessin d'un rectangle plein */  
73 -  
74 -void rectanglePlein (int x, int y, int l, int h, int c)  
75 -{  
76 - SDL_Rect rectangle = { x, y, l, h };  
77 - SDL_FillRect (surface, &rectangle, creerCouleur (c));  
78 - // SDL_Flip(surface);  
79 -}  
80 -  
81 -/* Manipulation de lutins */  
82 -  
83 -static SDL_Surface *lutins[MAX_LUTINS];  
84 -static int lutins_nb = 0;  
85 -  
86 -int lutinTexte(char* texte, int couleurTexte) {  
87 - couleur c=couleurs[couleurTexte];  
88 - SDL_Color couleur={c.r, c.v, c.b};  
89 - SDL_Surface* lutin=TTF_RenderText_Solid(police, texte, couleur);  
90 - if (lutin != NULL)  
91 - {  
92 - lutins[lutins_nb++] = lutin;  
93 - return lutins_nb - 1;  
94 - }  
95 - return -1;  
96 -}  
97 -  
98 -static void configurerLutin (SDL_Surface *lutin, int ncouleur)  
99 -{  
100 - couleur c = couleurs[ncouleur];  
101 - int fond = SDL_MapRGB (lutin->format, c.r, c.v, c.b);  
102 - SDL_SetColorKey (lutin, SDL_SRCCOLORKEY | SDL_RLEACCEL, fond);  
103 -}  
104 -  
105 -int chargerLutin (char *fichier, int couleur)  
106 -{  
107 - if (lutins_nb >= MAX_LUTINS) return -2;  
108 - SDL_Surface *lutin = SDL_LoadBMP (fichier);  
109 - if (lutin != NULL)  
110 - {  
111 - lutins[lutins_nb++] = lutin;  
112 - if (couleur >= 0) configurerLutin (lutin, couleur);  
113 - return lutins_nb - 1;  
114 - }  
115 - return -1;  
116 -}  
117 -  
118 -void afficherLutin (int lutin, int x, int y)  
119 -{  
120 - SDL_Rect position;  
121 - position.x = x;  
122 - position.y = y;  
123 - SDL_BlitSurface (lutins[lutin], NULL, surface, &position);  
124 -}  
125 -  
126 -int creerLutin (int x, int y, int largeur, int hauteur, int couleur)  
127 -{  
128 - if (lutins_nb >= MAX_LUTINS) return -2;  
129 - int rmask, gmask, bmask, amask;  
130 -#if SDL_BYTEORDER == SDL_BIG_ENDIAN  
131 - rmask = 0xff000000;  
132 - gmask = 0x00ff0000;  
133 - bmask = 0x0000ff00;  
134 - amask = 0x000000ff;  
135 -#else  
136 - rmask = 0x000000ff;  
137 - gmask = 0x0000ff00;  
138 - bmask = 0x00ff0000;  
139 - amask = 0xff000000;  
140 -#endif  
141 - if (couleur < 0) amask = 0x00000000;  
142 - SDL_Surface *lutin =  
143 - SDL_CreateRGBSurface (0, largeur, hauteur, BITS_PAR_PIXEL, rmask, gmask, bmask, amask);  
144 - SDL_Rect fenetre;  
145 - fenetre.x = x;  
146 - fenetre.y = y;  
147 - fenetre.h = hauteur;  
148 - fenetre.w = largeur;  
149 - SDL_BlitSurface (surface, &fenetre, lutin, NULL);  
150 - lutins[lutins_nb++] = lutin;  
151 - if (couleur >= 0) configurerLutin (lutin, couleur);  
152 - return lutins_nb - 1;  
153 -}  
154 -  
155 -void tailleLutin (int lutin, int *largeur, int *hauteur)  
156 -{  
157 - *largeur = lutins[lutin]->w;  
158 - *hauteur = lutins[lutin]->h;  
159 -}  
160 -  
161 -int sauverLutin (int lutin, char *nom) { return SDL_SaveBMP (lutins[lutin], nom); }  
162 -  
163 -/* Manipulation de copie de surface en BMP */  
164 -  
165 -int sauverSurface (char *fichier) { return SDL_SaveBMP (surface, fichier); }  
166 -  
167 -unsigned char chargerSurface (char *fichier)  
168 -{  
169 - SDL_Surface *image = SDL_LoadBMP (fichier);  
170 - if (image != NULL)  
171 - {  
172 - SDL_BlitSurface (image, NULL, surface, NULL);  
173 - SDL_Flip (surface);  
174 - }  
175 - return (image != NULL);  
176 -}  
177 -  
178 -void majSurface (void) { SDL_Flip (surface); }  
179 -  
180 -/* Trouver la couleur d'un pixel */  
181 -  
182 -int couleurPixel (int x, int y)  
183 -{  
184 - int bpp = surface->format->BytesPerPixel;  
185 - Uint32 *p = (Uint32 *)(surface->pixels + y * surface->pitch + x * bpp);  
186 - Uint8 r, v, b;  
187 - SDL_GetRGB (*p, surface->format, &r, &v, &b);  
188 - int i = 0;  
189 - while (1)  
190 - {  
191 - if (couleurs[i].r < 0) break;  
192 - if (r == couleurs[i].r && v == couleurs[i].v && b == couleurs[i].b) break;  
193 - i++;  
194 - }  
195 - if (couleurs[i].r < 0)  
196 - return -1;  
197 - else  
198 - return i;  
199 -}  
200 -  
201 -/* Fonction de traitement des รฉvรฉnements */  
202 -  
203 -void lireEvenement (evenement *evt, char *touche, void **detail)  
204 -{  
205 - static SDL_keysym _detail;  
206 - SDL_Event event;  
207 - while (SDL_PollEvent (&event))  
208 - {  
209 - if (event.type == SDL_QUIT) *evt = quitter;  
210 - if (event.type == SDL_KEYDOWN || event.type == SDL_KEYUP)  
211 - {  
212 - *evt = (event.type == SDL_KEYDOWN) ? toucheBas : toucheHaut;  
213 - char *nom = SDL_GetKeyName (event.key.keysym.sym);  
214 - if (strlen (nom) == 1 && nom[0] >= 32 && nom[0] < 128)  
215 - *touche = nom[0];  
216 - else  
217 - *touche = 0;  
218 - if (detail != NULL)  
219 - {  
220 - _detail = event.key.keysym;  
221 - *detail = &_detail;  
222 - }  
223 - break;  
224 - }  
225 - }  
226 -}  
227 -  
228 -void attendreEvenement (void)  
229 -{  
230 - SDL_Event event;  
231 - while (SDL_WaitEvent (&event)) switch (event.type)  
232 - {  
233 - case SDL_QUIT:  
234 - exit (0);  
235 - case SDL_KEYDOWN:  
236 - case SDL_MOUSEBUTTONDOWN:  
237 - return;  
238 - }  
239 -}  
Graphique/libgraph.h deleted
@@ -1,156 +0,0 @@ @@ -1,156 +0,0 @@
1 -/**** Bibliotheque graphique (definitions) ****/  
2 -  
3 -/** Constantes **/  
4 -  
5 -#define COULEUR_BLANC 0  
6 -#define COULEUR_NOIR 1  
7 -#define COULEUR_ROUGE 2  
8 -#define COULEUR_VERT 3  
9 -#define COULEUR_BLEU 4  
10 -#define COULEUR_ROSE 5  
11 -#define COULEUR_GRIS 6  
12 -  
13 -#define MAX_LUTINS 16  
14 -  
15 -typedef enum {toucheBas, toucheHaut, quitter} evenement;  
16 -  
17 -/** Prototypes **/  
18 -  
19 -/**  
20 - * @brief cree une fenetre 2D  
21 - *  
22 - * @param largeur en pixels de la fenetre  
23 - * @param hauteur en pixels de la fenetre  
24 - * @param titre de la fenetre (chaine de caractere)  
25 - */  
26 -unsigned char creerSurface (int largeur, int hauteur, char *titre);  
27 -  
28 -/**  
29 - * @brief permet de charger un fichier image au format bmp (bitmap)  
30 - *  
31 - * @param fichier nom du fichier  
32 - */  
33 -unsigned char chargerSurface (char *fichier);  
34 -  
35 -  
36 -/**  
37 - * @brief permet de sauvegarder une surface en image (format bmp)  
38 - *  
39 - * @param fichier nom du fichier  
40 - * @return 0 si OK, valeur negative sinon  
41 - */  
42 -int sauverSurface (char *fichier);  
43 -  
44 -/**  
45 - * @brief met a jour la surface d'affichage  
46 - */  
47 -void majSurface (void);  
48 -  
49 -  
50 -/**  
51 - * @brief libere la surface d'affichage  
52 - * a faire lors de la fermeture  
53 - * du programme  
54 - */  
55 -void fermerSurface (void);  
56 -  
57 -/**  
58 - * @brief choisit la police de caractรจres ร  utiliser pour afficher du texte  
59 - * @param chemin nom du fichier de police (format .ttf, voir /usr/share/fonts/truetype)  
60 - * @param taille taille de la police  
61 - */  
62 -void choisirPolice(const char *chemin, int taille);  
63 -  
64 -/**  
65 - * @brief dessine un rectange de taille (l,h) aux coordonnรชes  
66 - * (x,y) et de couleur c  
67 - *  
68 - * @param x 0 <= x <= l_surface  
69 - * @param y 0 <= y <= h_surface  
70 - * @param l largeur en pixels  
71 - * @param h longueur en pixels  
72 - * @param c indice de couleur voir variable couleurs dans le fichier .c  
73 - */  
74 -void rectanglePlein (int x, int y, int l, int h, int c);  
75 -  
76 -  
77 -/**  
78 - * @brief permet de determiner l'indice du tableau de couleur du  
79 - * pixel aux coordonnees (x,y)  
80 - *  
81 - * @param x 0 <= x <= l_surface  
82 - * @param y 0 <= y <= h_surface  
83 - * @return indice de couleur voire variable couleurs dans le fichier .c  
84 - */  
85 -int couleurPixel (int x, int y);  
86 -  
87 -/**  
88 - * @brief crรฉe un lutin ร  partir d'un texte  
89 - *  
90 - * @param texte le texte  
91 - * @param couleur indice de couleur du texte  
92 - * @return numero de lutin dans le tableau dynamique de lutin (< MAX_LUTINS)  
93 - */  
94 -int lutinTexte(char *texte, int couleur);  
95 -  
96 -/**  
97 - * @brief charge un lutin ร  partir du fichier  
98 - *  
99 - * @param fichier image bitmap du lutin ร  charger  
100 - * @param couleur indice de couleurs ร  charger  
101 - * @return numero de lutin dans le tableau dynamique de lutin (< MAX_LUTINS)  
102 - */  
103 -int chargerLutin (char *fichier, int couleur);  
104 -  
105 -/**  
106 - * @brief afficher un lutin aux coordonnรฉes (x,y)  
107 - *  
108 - * @param lutin numero du lutin ร  afficher (< MAX_LUTINS)  
109 - * @param x abscisse de dรฉpart  
110 - * @param y ordonnรฉe de dรฉpart  
111 - */  
112 -void afficherLutin (int lutin, int x, int y);  
113 -  
114 -/**  
115 - * @brief creer un lutin de taille (l,h) aux coordonnรฉes (x,y)  
116 - *  
117 - * @param x abscisse de dรฉpart  
118 - * @param y ordonnรฉe de dรฉpart  
119 - * @param largeur largeur du lutin  
120 - * @param hauteur hauteur du lutin  
121 - * @param couleur indice de couleur ร  partir du tableau _couleurs_  
122 - * @return indice du lutin dans le tableau global (< MAX_LUTINS)  
123 - */  
124 -int creerLutin (int x, int y, int largeur, int hauteur, int couleur);  
125 -  
126 -/**  
127 - * @brief sauvegarde un lutin dans un fichier  
128 - *  
129 - * @param lutin numero de lutin ร  sauvegarder (< MAX_LUTINS)  
130 - * @param nom fichier pour la sauvegarde  
131 - * @return 0 si OK valeur nรฉgative sinon  
132 - */  
133 -int sauverLutin (int lutin, char *nom);  
134 -  
135 -/**  
136 - * @brief calcule la taille (largeur,hauteur) d'un lutin  
137 - *  
138 - * @param lutin index du lutin (< MAX_LUTINS)  
139 - * @param largeur pointeur sur la largeur  
140 - * @param hauteur pointeur sur la hauteur  
141 - */  
142 -void tailleLutin (int lutin, int *largeur, int *hauteur);  
143 -  
144 -/**  
145 - * @brief lire une touche au clavier  
146 - *  
147 - * @param evt pointeur sur evenement  
148 - * @param touche pointeur sur la touche pressรฉe  
149 - * @param detail NULL ou keysim  
150 - */  
151 -void lireEvenement (evenement *evt, char *touche, void **detail);  
152 -  
153 -/**  
154 - * @brief attente d'un evenement bouton, souris, fin de programme  
155 - */  
156 -void attendreEvenement (void);  
Interactif/Interactif.c deleted
@@ -1,273 +0,0 @@ @@ -1,273 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -#include <string.h>  
4 -#include "../Graphique/libgraph.h"  
5 -#include "../ListeC/Liste.h"  
6 -#include "Interactif.h"  
7 -#include "../Main/init.h"  
8 -  
9 -#define TailleX 500  
10 -#define TailleY 500  
11 -#define Sol 475  
12 -#define ErreurHitbox 2  
13 -  
14 -  
15 -int CheckCollisionEntiteEntite(struct entite entite1, int L1, int H1, struct entite entite2, int L2, int H2)  
16 -{  
17 - //CheckX  
18 - int gauche1 = entite1.posx - L1/2 + ErreurHitbox;  
19 - int droite1 = entite1.posx + L1/2 - ErreurHitbox;  
20 - int gauche2 = entite2.posx - L2/2 + ErreurHitbox;  
21 - int droite2 = entite2.posx + L2/2 - ErreurHitbox;  
22 - int CheckX = (gauche1 >= gauche2 && gauche1 <= droite2) || (droite1 >= gauche2 && droite1 <= droite2);  
23 -  
24 - //CheckY  
25 - int haut1 = entite1.posy - H1/2 + ErreurHitbox;  
26 - int bas1 = entite1.posy + H1/2 - ErreurHitbox;  
27 - int haut2 = entite2.posy - H2/2 + ErreurHitbox;  
28 - int bas2 = entite2.posy + H2/2 - ErreurHitbox;  
29 - int CheckY = (haut1 <= bas2 && haut1 >= haut2) || (bas1 <= bas2 && bas1 >= haut2);  
30 -  
31 - return CheckX && CheckY;  
32 -}  
33 -  
34 -  
35 -struct entite* CheckCollisionListeEntite(struct liste_entite *Liste1,int L1,int H1,struct entite entite2, int L2, int H2)  
36 -{  
37 - struct liste_entite *pL1=Liste1;  
38 - while (pL1 != NULL)  
39 - {  
40 - if(CheckCollisionEntiteEntite(pL1->entite,L1,H1,entite2,L2,H2) == 1)  
41 - {  
42 - return &pL1->entite;  
43 - }  
44 - pL1=pL1->suivant;  
45 - }  
46 - return NULL;  
47 -}  
48 -  
49 -  
50 -  
51 -  
52 -struct liste_entite* CheckCollisionListeListe(struct liste_entite *Liste1,int L1,int H1,struct liste_entite *Liste2,int L2, int H2)  
53 -{  
54 - struct liste_entite *pL2=Liste2;  
55 - while (pL2 != NULL)  
56 - {  
57 - struct entite* collision = CheckCollisionListeEntite(Liste1,L1,H1,pL2->entite,L2,H2);  
58 - if (collision != NULL)  
59 - {  
60 - // Crรฉation des nล“uds pour les deux entitรฉs  
61 - struct liste_entite* Entite1 = malloc(sizeof(struct liste_entite));  
62 - struct liste_entite* Entite2 = malloc(sizeof(struct liste_entite));  
63 -  
64 - // Remplissage des nล“uds avec les entitรฉs correspondantes  
65 - Entite1->entite = *collision;  
66 - Entite2->entite = pL2->entite;  
67 -  
68 - // Relier les nล“uds entre eux  
69 - Entite1->suivant = Entite2;  
70 - Entite2->suivant = NULL;  
71 -  
72 - return Entite1;  
73 - }  
74 - else  
75 - pL2=pL2->suivant;  
76 - }  
77 - return NULL;  
78 -}  
79 -  
80 -  
81 -void NouveauDroppeurBombe(struct liste_entite** liste, struct entite* ent)  
82 -{  
83 - int posx = ent->posx;  
84 - int posy = ent->posy;  
85 - struct liste_entite* pListe = *liste;  
86 - struct entite* ent_bas = NULL;  
87 -  
88 - // On parcourt la liste et on cherche l'entitรฉ la plus basse ayant la mรชme position x  
89 - while (pListe != NULL)  
90 - {  
91 - if (pListe->entite.posy != posy)  
92 - {  
93 - if (pListe->entite.posx == posx && ent_bas == NULL)  
94 - {  
95 - ent_bas = &pListe->entite;  
96 - }  
97 - else if (pListe->entite.posx == posx && pListe->entite.posy > ent_bas->posy)  
98 - {  
99 - ent_bas = &pListe->entite;  
100 - }  
101 - }  
102 - pListe = pListe->suivant;  
103 - }  
104 -  
105 - // Si aucune entitรฉ n'est situรฉe plus bas que l'entitรฉ en question, on ne peut pas dropper la bombe  
106 - if (ent_bas == NULL)  
107 - {  
108 - return;  
109 - }  
110 -  
111 - ent_bas->dropbombe = 1;  
112 -}  
113 -  
114 -  
115 -  
116 -  
117 -  
118 -int SupprimerEntitesEnCollision(struct liste_entite** Liste1, int L1, int H1, struct liste_entite** Liste2, int L2, int H2)  
119 -{  
120 - struct liste_entite* collision = CheckCollisionListeListe(*Liste1, L1, H1, *Liste2, L2, H2);  
121 -  
122 - if (collision != NULL) {  
123 - // Rรฉcupรฉration des entitรฉs impliquรฉes  
124 - struct entite* entite1 = &collision->entite;  
125 - struct entite* entite2 = &collision->suivant->entite;  
126 -  
127 - if (entite1->dropbombe == 1)  
128 - {  
129 - NouveauDroppeurBombe(Liste1,entite1);  
130 - }  
131 -  
132 - if (entite2->dropbombe == 1)  
133 - {  
134 - NouveauDroppeurBombe(Liste2,entite2);  
135 - }  
136 - // Suppression de l'entitรฉ 1 de la liste 1  
137 - SupprimerEntite(Liste1, entite1);  
138 -  
139 - // Suppression de l'entitรฉ 2 de la liste 2  
140 - SupprimerEntite(Liste2, entite2);  
141 -  
142 - afficherLutin(bouillie, entite2->posx - hitboxbouillieL/2 + ErreurHitbox, entite2->posy - hitboxbouillieH/2 + ErreurHitbox);  
143 -  
144 - return 1;  
145 - }  
146 - return 0;  
147 -}  
148 -  
149 -  
150 -  
151 -  
152 -  
153 -void Tirer(struct entite joueur, struct liste_entite **pl)  
154 -{  
155 - if (*pl==NULL)  
156 - {  
157 - ajout_tete(pl,creer_entite(joueur.posx,joueur.posy,-1));  
158 - }  
159 -}  
160 -  
161 -  
162 -void DeplacementTire(int tire, struct liste_entite** l)  
163 -{  
164 - struct entite* ml = &(*l)->entite;  
165 - if (ml != NULL)  
166 - {  
167 - if (ml->posy <= 0)  
168 - {  
169 - afficherLutin(bouillie, ml->posx - hitboxbouillieL/2 + ErreurHitbox, ml->posy);  
170 - SupprimerEntite(l, ml);  
171 - }  
172 - else  
173 - {  
174 - ml->posy -= 5;  
175 - //Je divise ErreurHitbox par 2 car l'erreur du missile est plus petite que pour les autres images  
176 - afficherLutin(tire, ml->posx - hitboxmissileL/2 + ErreurHitbox/2, ml->posy - hitboxmissileH/2 + ErreurHitbox/2);  
177 - }  
178 - }  
179 -}  
180 -  
181 -  
182 -  
183 -  
184 -char touche()  
185 -{  
186 - char touche;  
187 - evenement even;  
188 - lireEvenement (&even,&touche,NULL);  
189 - return touche;  
190 -}  
191 -  
192 -  
193 -  
194 -void action(struct entite *joueur, char c, struct liste_entite **tires)  
195 -{  
196 - switch (c)  
197 - {  
198 - case 'd':  
199 - if (joueur->posx <= 9*TailleX/10)  
200 - {  
201 - joueur->posx += 3;  
202 - }  
203 - break;  
204 - case 'q':  
205 - if (joueur->posx >= TailleX/10)  
206 - {  
207 - joueur->posx -= 3;  
208 - }  
209 - break;  
210 - case 't':  
211 - Tirer(*joueur, tires);  
212 - break;  
213 - default:  
214 - break;  
215 - }  
216 -}  
217 -  
218 -  
219 -  
220 -void MakeBombeDroppable(struct liste_entite* enemies, struct liste_entite** bombes)  
221 -{  
222 - struct liste_entite* pL = enemies;  
223 - struct liste_entite* Dropable = NULL;  
224 - int taille = 0;  
225 - while (pL != NULL)  
226 - {  
227 - if (pL->entite.dropbombe == 1)  
228 - {  
229 - ajout_tete(&Dropable,pL->entite);  
230 - taille += 1;  
231 - }  
232 - pL=pL->suivant;  
233 - }  
234 -  
235 - if(Dropable == NULL)  
236 - {  
237 - return;  
238 - }  
239 -  
240 - int randomIndex = rand() % taille-1;  
241 - struct liste_entite* pLDropable = Dropable;  
242 -  
243 - for (int i = 0; i <= randomIndex; i++)  
244 - {  
245 - pLDropable = pLDropable->suivant;  
246 - }  
247 - ajout_tete(bombes,creer_entite(pLDropable->entite.posx,pLDropable->entite.posy,-1));  
248 -}  
249 -  
250 -  
251 -void DeplacementBombe(int bombe, struct liste_entite** l)  
252 -{  
253 - struct liste_entite* ml = *l;  
254 - struct liste_entite* precedent = NULL;  
255 -  
256 - while (ml != NULL)  
257 - {  
258 - if (ml->entite.posy + hitboxbombeH/2 - ErreurHitbox >= Sol)  
259 - {  
260 - struct entite* a_supprimer = &ml->entite;  
261 - ml = ml->suivant;  
262 - SupprimerEntite(l, a_supprimer);  
263 - }  
264 - else  
265 - {  
266 - ml->entite.posy += 2;  
267 - afficherLutin(bombe, ml->entite.posx - hitboxbombeL/2 + ErreurHitbox, ml->entite.posy - hitboxbombeH/2 + ErreurHitbox);  
268 - precedent = ml;  
269 - ml = ml->suivant;  
270 - }  
271 - }  
272 -}  
273 -  
Interactif/Interactif.h deleted
@@ -1,25 +0,0 @@ @@ -1,25 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -  
4 -  
5 -int CheckCollisionEntiteEntite(struct entite,int,int,struct entite,int,int);  
6 -  
7 -struct entite* CheckCollisionListeEntite(struct liste_entite*,int,int,struct entite,int,int);  
8 -  
9 -void NouveauDroppeurBombe(struct liste_entite**,struct entite*);  
10 -  
11 -struct liste_entite* CheckCollisionListeListe(struct liste_entite*,int,int,struct liste_entite*,int,int);  
12 -  
13 -void Tirer(struct entite, struct liste_entite**);  
14 -  
15 -void DeplacementTire(int,struct liste_entite**);  
16 -  
17 -int SupprimerEntitesEnCollision(struct liste_entite**,int,int,struct liste_entite**,int,int);  
18 -  
19 -char touche();  
20 -  
21 -void action(struct entite*,char,struct liste_entite**);  
22 -  
23 -void MakeBombeDroppable(struct liste_entite*,struct liste_entite**);  
24 -  
25 -void DeplacementBombe(int,struct liste_entite**);  
ListeC/Liste.c deleted
@@ -1,69 +0,0 @@ @@ -1,69 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -#include <string.h>  
4 -  
5 -#include "Liste.h"  
6 -  
7 -  
8 -struct entite creer_entite (int x,  
9 - int y,  
10 - int bombe)  
11 -{  
12 - struct entite e;  
13 -  
14 - e.posx = x;  
15 - e.posy = y;  
16 - e.dropbombe = bombe;  
17 -  
18 - return e;  
19 -}  
20 -  
21 -  
22 -  
23 -void ajout_tete (struct liste_entite** Liste,  
24 - struct entite x )  
25 -{  
26 - struct liste_entite *Listetmp;  
27 -  
28 - Listetmp = malloc(sizeof(struct liste_entite));  
29 - Listetmp->entite = x;  
30 - Listetmp->suivant = *Liste;  
31 -  
32 - *Liste = Listetmp;  
33 -}  
34 -  
35 -  
36 -  
37 -void SupprimerEntite (struct liste_entite** Liste,  
38 - struct entite* entite)  
39 -{  
40 - struct liste_entite* courant = *Liste;  
41 - struct liste_entite* precedent = NULL;  
42 -  
43 - while (courant != NULL)  
44 - {  
45 -  
46 - if (memcmp (&courant->entite,  
47 - entite,  
48 - sizeof(struct entite)) == 0)  
49 - {  
50 -  
51 - if (precedent == NULL)  
52 - {  
53 - *Liste = courant->suivant;  
54 - }  
55 -  
56 - else  
57 - {  
58 - precedent->suivant = courant->suivant;  
59 - }  
60 -  
61 - free(courant);  
62 - break;  
63 - }  
64 -  
65 - precedent = courant;  
66 - courant = courant->suivant;  
67 - }  
68 -}  
69 -  
ListeC/Liste.h deleted
@@ -1,27 +0,0 @@ @@ -1,27 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -  
4 -//dropbombe concerne les entitรฉs enemies  
5 -//1 les enemies peuvent drop des bombes, 0 ils ne peuvent pas  
6 -//Celles non concernรฉes vallent -1  
7 -struct entite  
8 -{  
9 - int posx;  
10 - int posy;  
11 - int dropbombe;  
12 -};  
13 -  
14 -  
15 -struct liste_entite  
16 -{  
17 - struct entite entite;  
18 - struct liste_entite *suivant;  
19 -};  
20 -  
21 -  
22 -void ajout_tete(struct liste_entite**, struct entite);  
23 -  
24 -struct entite creer_entite(int,int,int);  
25 -  
26 -void SupprimerEntite(struct liste_entite**,struct entite*);  
27 -  
Main/.nfs00000000073b016100000009 deleted
No preview for this file type
Main/Makefile deleted
@@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
1 -CC=clang  
2 -TARGET=exec  
3 -CFLAGS=-g -W -Wall -Wextra  
4 -LDFLAGS=-I Graphique -l graph -L ../Graphique -l SDL -l SDL_ttf  
5 -  
6 -default: $(TARGET)  
7 -  
8 -Liste.o : ../ListeC/Liste.c ../ListeC/Liste.h  
9 - clang $(CFLAGS) -c ../ListeC/Liste.c  
10 -  
11 -Monstre.o : ../Monstre/Monstre.c ../Monstre/Monstre.h ../ListeC/Liste.h  
12 - clang $(CFLAGS) -c ../Monstre/Monstre.c  
13 -  
14 -Interactif.o : ../Interactif/Interactif.c ../Interactif/Interactif.h ../ListeC/Liste.h  
15 - clang $(CFLAGS) -c ../Interactif/Interactif.c  
16 -  
17 -init.o : init.c init.h ../ListeC/Liste.h  
18 - clang $(CFLAGS) -c init.c  
19 -  
20 -main.o : main.c ../ListeC/Liste.h  
21 - clang $(CFLAGS) -c main.c  
22 -  
23 -  
24 -$(TARGET): Liste.o main.o Monstre.o Interactif.o init.o  
25 - clang main.o Liste.o Monstre.o Interactif.o init.o -o $(TARGET) $(LDFLAGS)  
26 -  
27 -.PHONY: clean  
28 -clean:  
29 - rm -f *.o  
30 - rm -f $(TARGET)  
Main/init.c deleted
@@ -1,218 +0,0 @@ @@ -1,218 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -  
4 -#include "../Graphique/libgraph.h"  
5 -#include "../ListeC/Liste.h"  
6 -#include "../Interactif/Interactif.h"  
7 -#include "init.h"  
8 -  
9 -#define TailleX 500  
10 -#define TailleY 500  
11 -#define Sol 475  
12 -#define ErreurHitbox 2  
13 -#define JoueurX TailleX/2  
14 -#define JoueurY 9*TailleY/10  
15 -  
16 -struct entite joueur;  
17 -  
18 -int canon = 0;  
19 -int missile = 0;  
20 -int sbire = 0;  
21 -int bouillie = 0;  
22 -int bombe = 0;  
23 -  
24 -int hitboxcanonL = 0;  
25 -int hitboxcanonH = 0;  
26 -int hitboxmissileL = 0;  
27 -int hitboxmissileH = 0;  
28 -int hitboxsbireL = 0;  
29 -int hitboxsbireH = 0;  
30 -int hitboxbouillieL = 0;  
31 -int hitboxbouillieH = 0;  
32 -int hitboxbombeL = 0;  
33 -int hitboxbombeH = 0;  
34 -  
35 -char Nom[] = "Space Invader";  
36 -char input = '\0';  
37 -  
38 -  
39 -void initialiser()  
40 -{  
41 - canon = chargerLutin ("../../Lutins/invader_canon.bmp",  
42 - COULEUR_NOIR);  
43 - missile = chargerLutin ("../../Lutins/invader_missile.bmp",  
44 - COULEUR_NOIR);  
45 - sbire = chargerLutin ("../../Lutins/invader_monstre1_1.bmp",  
46 - COULEUR_NOIR);  
47 - bouillie = chargerLutin ("../../Lutins/invader_monstre_bouillie.bmp",  
48 - COULEUR_NOIR);  
49 - bombe = chargerLutin ("../../Lutins/invader_bombe.bmp",  
50 - COULEUR_NOIR);  
51 -  
52 - tailleLutin (canon,  
53 - &hitboxcanonL,  
54 - &hitboxcanonH);  
55 - tailleLutin (missile,  
56 - &hitboxmissileL,  
57 - &hitboxmissileH);  
58 - tailleLutin (sbire,  
59 - &hitboxsbireL,  
60 - &hitboxsbireH);  
61 - tailleLutin (bouillie,  
62 - &hitboxbouillieL,  
63 - &hitboxbouillieH);  
64 - tailleLutin (bombe,  
65 - &hitboxbombeL,  
66 - &hitboxbombeH);  
67 -  
68 -}  
69 -  
70 -  
71 -void initialiserjoueur(struct entite* joueur)  
72 -{  
73 - joueur->posx = JoueurX;  
74 - joueur->posy = JoueurY;  
75 - joueur->dropbombe = -1;  
76 -}  
77 -  
78 -  
79 -char pagedemarrage()  
80 -{  
81 - static const char policeDefaut[] = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf";  
82 - int Largeur = 0;  
83 - int Hauteur = 0;  
84 - char jouer[] = "Appuyer sur j pour Jouer";  
85 - char quitter[] = "Appuyer ailleurs pour Quitter";  
86 -  
87 - choisirPolice (policeDefaut, TailleX / 20);  
88 - int LutinJouer = lutinTexte (jouer, COULEUR_BLANC);  
89 - int LutinQuitter = lutinTexte (quitter, COULEUR_BLANC);  
90 -  
91 - choisirPolice (policeDefaut,TailleX / 10);  
92 - int LutinBienvenue = lutinTexte (Nom, COULEUR_VERT);  
93 -  
94 - rectanglePlein (0,  
95 - 0,  
96 - TailleX,  
97 - TailleY,  
98 - COULEUR_NOIR);  
99 -  
100 - tailleLutin (LutinBienvenue,  
101 - &Largeur,  
102 - &Hauteur);  
103 - afficherLutin (LutinBienvenue,  
104 - TailleX / 2 - Largeur / 2,  
105 - TailleY / 4 + Hauteur / 2);  
106 -  
107 - tailleLutin (LutinJouer,  
108 - &Largeur,  
109 - &Hauteur);  
110 - afficherLutin (LutinJouer,  
111 - TailleX/2-Largeur/2,  
112 - TailleY/2-Hauteur/2);  
113 -  
114 - tailleLutin (LutinQuitter,  
115 - &Largeur,  
116 - &Hauteur);  
117 - afficherLutin (LutinQuitter,  
118 - TailleX / 2 - Largeur / 2,  
119 - TailleY / 2 + Hauteur / 2);  
120 -  
121 - attendreEvenement ();  
122 -  
123 - input = touche();  
124 - while (input == '\0')  
125 - {  
126 - input = touche();  
127 - }  
128 - return input;  
129 -}  
130 -  
131 -  
132 -void pagemort (int nbr_vie)  
133 -{  
134 - static const char policeDefaut[] = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf";  
135 - int Largeur = 0;  
136 - int Hauteur = 0;  
137 - char mort[] = "Vous etes mort";  
138 - char vie[30] = "\0";  
139 - sprintf(vie, "Nombre de vie restante : %d", nbr_vie);  
140 -  
141 - choisirPolice (policeDefaut, TailleX / 10);  
142 - int LutinMort = lutinTexte(mort, COULEUR_ROUGE);  
143 -  
144 - choisirPolice (policeDefaut, TailleX / 20);  
145 - int LutinVie = lutinTexte(vie, COULEUR_BLANC);  
146 -  
147 - rectanglePlein (0,  
148 - 0,  
149 - TailleX,  
150 - TailleY,  
151 - COULEUR_NOIR);  
152 -  
153 - tailleLutin (LutinMort,  
154 - &Largeur,  
155 - &Hauteur);  
156 - afficherLutin (LutinMort,  
157 - TailleX / 2 - Largeur / 2,  
158 - TailleY / 4 + Hauteur / 2);  
159 -  
160 - tailleLutin (LutinVie,  
161 - &Largeur,  
162 - &Hauteur);  
163 - afficherLutin (LutinVie,  
164 - TailleX / 2 - Largeur / 2,  
165 - TailleY / 2 - Hauteur / 2);  
166 -}  
167 -  
168 -  
169 -void pageGameOver()  
170 -{  
171 - static const char policeDefaut[] = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf";  
172 - int Largeur = 0;  
173 - int Hauteur = 0;  
174 - char fin[] = "GAME OVER";  
175 -  
176 - choisirPolice(policeDefaut, TailleX / 10);  
177 - int LutinFin = lutinTexte(fin, COULEUR_ROUGE);  
178 -  
179 - rectanglePlein (0,  
180 - 0,  
181 - TailleX,  
182 - TailleY,  
183 - COULEUR_NOIR);  
184 -  
185 - tailleLutin (LutinFin,  
186 - &Largeur,  
187 - &Hauteur);  
188 - afficherLutin (LutinFin,  
189 - TailleX / 2 - Largeur / 2,  
190 - TailleY / 2 - Hauteur / 2);  
191 -  
192 -}  
193 -  
194 -  
195 -void pageVictoire()  
196 -{  
197 - static const char policeDefaut[] = "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf";  
198 - int Largeur = 0;  
199 - int Hauteur = 0;  
200 - char fin[] = "VICTOIRE";  
201 -  
202 - choisirPolice(policeDefaut, TailleX / 10);  
203 - int LutinFin = lutinTexte(fin, COULEUR_VERT);  
204 -  
205 - rectanglePlein (0,  
206 - 0,  
207 - TailleX,  
208 - TailleY,  
209 - COULEUR_NOIR);  
210 -  
211 - tailleLutin (LutinFin,  
212 - &Largeur,  
213 - &Hauteur);  
214 - afficherLutin (LutinFin,  
215 - TailleX / 2 - Largeur / 2,  
216 - TailleY / 2 - Hauteur / 2);  
217 -  
218 -}  
Main/init.h deleted
@@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -  
4 -extern int canon;  
5 -extern int missile;  
6 -extern int sbire;  
7 -extern int bouillie;  
8 -extern int bombe;  
9 -  
10 -extern struct entite joueur;  
11 -extern char Nom[15];  
12 -extern char input;  
13 -  
14 -extern int hitboxcanonL;  
15 -extern int hitboxcanonH;  
16 -extern int hitboxmissileL;  
17 -extern int hitboxmissileH;  
18 -extern int hitboxsbireL;  
19 -extern int hitboxsbireH;  
20 -extern int hitboxbouillieL;  
21 -extern int hitboxbouillieH;  
22 -extern int hitboxbombeL;  
23 -extern int hitboxbombeH;  
24 -  
25 -void initialiser();  
26 -void initialiserjoueur(struct entite*);  
27 -char pagedemarrage();  
28 -void pagemort(int);  
29 -void pageGameOver();  
30 -void pageVictoire();  
Main/main.c deleted
@@ -1,149 +0,0 @@ @@ -1,149 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -#include <unistd.h>  
4 -#include <SDL/SDL.h>  
5 -#include "../Graphique/libgraph.h"  
6 -#include "../ListeC/Liste.h"  
7 -#include "../Monstre/Monstre.h"  
8 -#include "../Interactif/Interactif.h"  
9 -#include "init.h"  
10 -  
11 -#define TailleX 500  
12 -#define TailleY 500  
13 -#define Sol 475  
14 -#define ErreurHitbox 2  
15 -  
16 -int main()  
17 -{  
18 - creerSurface(TailleX,TailleY,Nom);  
19 -  
20 - initialiser();  
21 - initialiserjoueur(&joueur);  
22 -  
23 - struct liste_entite *enemies = NULL;  
24 - struct liste_entite *tires = NULL;  
25 - struct liste_entite *bombes = NULL;  
26 - //joueur est dans une liste pour que je puisse utiliser des fonctions deja crรฉรฉ  
27 - struct liste_entite* Ljoueur = NULL;  
28 - ajout_tete(&Ljoueur,joueur);  
29 -  
30 -  
31 - LigneSbire(&enemies,8,3);  
32 - int SensVague=1;  
33 -  
34 - int compteur=0;  
35 - int DropAlea=0;  
36 - int CheckAlea=0;  
37 - int mort = 0;  
38 - int nbr_vie = 3;  
39 - char Touchememoire = '\0';  
40 - int compteurtouche = 0;  
41 -  
42 - if ( pagedemarrage() != 'j')  
43 - {  
44 - return 0;  
45 - }  
46 - SDL_Delay(500);  
47 -  
48 - //Bouble principale  
49 - while(input!='m')  
50 - {  
51 - if (mort == 1)  
52 - {  
53 - nbr_vie-=1;  
54 - if (nbr_vie > 0)  
55 - {  
56 - pagemort(nbr_vie);  
57 - majSurface();  
58 - SDL_Delay(2000);  
59 - mort = 0;  
60 - }  
61 - else  
62 - {  
63 - pageGameOver();  
64 - majSurface();  
65 - SDL_Delay(2000);  
66 - return 0;  
67 - }  
68 - ajout_tete(&Ljoueur,joueur);  
69 - tires = NULL;  
70 - bombes = NULL;  
71 - }  
72 -  
73 - rectanglePlein(0,0,TailleX,TailleY,COULEUR_NOIR);  
74 - rectanglePlein(0,Sol,TailleX,2,COULEUR_VERT);  
75 -  
76 - afficherLutin(canon,Ljoueur->entite.posx - hitboxcanonL/2 + ErreurHitbox,Ljoueur->entite.posy);  
77 - AfficherSbire(enemies,sbire,hitboxsbireL,hitboxsbireH);  
78 -  
79 - if (DropAlea == 0)  
80 - {  
81 - DropAlea = rand() % 31 + 100;  
82 - }  
83 - if (CheckAlea == DropAlea)  
84 - {  
85 - MakeBombeDroppable(enemies,&bombes);  
86 - DropAlea=0;  
87 - CheckAlea=0;  
88 - }  
89 -  
90 -  
91 - input = touche();  
92 - if (input != '\0')  
93 - {  
94 - Touchememoire = input;  
95 - compteurtouche += 1;  
96 - }  
97 - if (compteurtouche == 2)  
98 - {  
99 - Touchememoire = '\0';  
100 - compteurtouche = 0;  
101 - }  
102 - else if (compteurtouche == 1)  
103 - {  
104 - action(&Ljoueur->entite,Touchememoire,&tires);  
105 - }  
106 -  
107 -  
108 -  
109 - if (compteur==10)  
110 - {  
111 - DeplacementSbire(enemies,&SensVague,1);  
112 - compteur=0;  
113 - }  
114 -  
115 - DeplacementTire(missile,&tires);  
116 - DeplacementBombe(bombe,&bombes);  
117 -  
118 - SupprimerEntitesEnCollision(&tires,hitboxmissileL,hitboxmissileH,&enemies,hitboxsbireL,hitboxsbireH);  
119 -  
120 - if (SupprimerEntitesEnCollision(&bombes,hitboxbombeL,hitboxbombeH,&Ljoueur,hitboxcanonL,hitboxcanonH) == 1)  
121 - {  
122 - mort = 1;  
123 - majSurface();  
124 - SDL_Delay(200);  
125 - }  
126 - if (SupprimerEntitesEnCollision(&enemies,hitboxsbireL,hitboxsbireH,&Ljoueur,hitboxcanonL,hitboxcanonH) == 1)  
127 - {  
128 - pageGameOver();  
129 - majSurface();  
130 - SDL_Delay(2000);  
131 - return 0;  
132 - }  
133 -  
134 - if (enemies == NULL)  
135 - {  
136 - pageVictoire();  
137 - majSurface();  
138 - SDL_Delay(2000);  
139 - return 0;  
140 - }  
141 -  
142 - majSurface();  
143 - SDL_Delay(20);  
144 -  
145 - compteur+=1;  
146 - CheckAlea+=1;  
147 - }  
148 - return 0;  
149 -}  
Monstre/Monstre.c deleted
@@ -1,99 +0,0 @@ @@ -1,99 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -  
4 -#include "../Graphique/libgraph.h"  
5 -#include "../ListeC/Liste.h"  
6 -#include "Monstre.h"  
7 -  
8 -#define TailleX 500  
9 -#define TailleY 500  
10 -#define ErreurHitbox 2  
11 -  
12 -//Sens = 1 -> Va vers la droite  
13 -void DeplacementSbire(struct liste_entite* Liste,  
14 - int* SensDeplacement,  
15 - int Vitesse)  
16 -{  
17 -  
18 - int ind = 0;  
19 - struct liste_entite* pListe = Liste;  
20 -  
21 - while (pListe != NULL)  
22 - {  
23 - pListe->entite.posx += (*SensDeplacement == 1) ? Vitesse : -Vitesse;  
24 -  
25 - if (pListe->entite.posx >= 9 * TailleX / 10)  
26 - ind = 1;  
27 -  
28 - else if (pListe->entite.posx <= TailleX / 10)  
29 - ind = 2;  
30 -  
31 - pListe = pListe->suivant;  
32 - }  
33 -  
34 - if (ind != 0)  
35 - {  
36 - *SensDeplacement = (ind == 1) ? 0 : 1;  
37 - struct liste_entite* p2Liste = Liste;  
38 -  
39 - while (p2Liste != NULL)  
40 - {  
41 - p2Liste->entite.posy += 30;  
42 - p2Liste = p2Liste->suivant;  
43 - }  
44 - }  
45 -}  
46 -  
47 -  
48 -void LigneSbire (struct liste_entite** ListeSbire,  
49 - int nbr_enemies,  
50 - int nbr_rangee)  
51 -{  
52 -  
53 - for (int j = 1; j <= nbr_rangee; j++)  
54 - {  
55 - int compteurY = j * TailleY / 10;  
56 - int compteurX = TailleX / nbr_enemies;  
57 -  
58 - for (int i = 0; i < nbr_enemies; i++)  
59 - {  
60 - if (j == nbr_rangee)  
61 - {  
62 - ajout_tete(ListeSbire,  
63 - creer_entite(compteurX,  
64 - compteurY,  
65 - 1)  
66 - );  
67 - compteurX += 2 * TailleX / (3 * nbr_enemies);  
68 - }  
69 -  
70 - else  
71 - {  
72 - ajout_tete(ListeSbire,  
73 - creer_entite(compteurX,  
74 - compteurY,  
75 - 0)  
76 - );  
77 - compteurX += 2 * TailleX / (3 * nbr_enemies);  
78 - }  
79 - }  
80 - }  
81 -}  
82 -  
83 -  
84 -void AfficherSbire (struct liste_entite* Liste,  
85 - int lutin,  
86 - int Largeur,  
87 - int Hauteur)  
88 -{  
89 -  
90 - struct liste_entite* pListe = Liste;  
91 -  
92 - while (pListe != NULL)  
93 - {  
94 - afficherLutin(lutin,  
95 - pListe->entite.posx - Largeur / 2 + ErreurHitbox,  
96 - pListe->entite.posy - Hauteur / 2 + ErreurHitbox);  
97 - pListe=pListe->suivant;  
98 - }  
99 -}  
Monstre/Monstre.h deleted
@@ -1,8 +0,0 @@ @@ -1,8 +0,0 @@
1 -#include <stdio.h>  
2 -#include <stdlib.h>  
3 -  
4 -void DeplacementSbire(struct liste_entite*,int*,int);  
5 -  
6 -void LigneSbire(struct liste_entite**,int,int);  
7 -  
8 -void AfficherSbire(struct liste_entite*,int,int,int);