Bonjour,
Voilà j'ai un petit problème mon décors en SDL est incomplet et je ne comprend pas pourquoi. De plus mon personnage peut se déplacer de partout sauf quand il y a un "mur", et justement je n'en vois pas et il peut donc les franchir.
[IMG][/IMG]
Je charge mon fichier niveau avec cette fonction du fichier : fichier.c :
J'ai un fichier : constantes.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 int chargerPartie(int niveau[][NB_BLOCS_HAUTEUR]) { FILE* fichier = NULL; char ligneFichier[NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1] = {0}; int i = 0, j = 0; fichier = fopen("niveaux.lvl", "r"); if (fichier == NULL) return 0; fgets(ligneFichier, NB_BLOCS_LARGEUR * NB_BLOCS_HAUTEUR + 1, fichier); for (i = 0 ; i < NB_BLOCS_LARGEUR ; i++) { for (j = 0 ; j < NB_BLOCS_HAUTEUR ; j++) { switch (ligneFichier[(i * NB_BLOCS_LARGEUR) + j]) { case '0': niveau[j][i] = 0; break; case '1': niveau[j][i] = 1; break; case '2': niveau[j][i] = 2; break; case '3': niveau[j][i] = 3; break; case '4': niveau[j][i] = 4; break; case '5': niveau[j][i] = 5; break; case '6': niveau[j][i] = 6; break; case '7': niveau[j][i] = 7; break; case '8': niveau[j][i] = 8; break; case '9': niveau[j][i] = 9; break; } } } fclose(fichier); return 1; }
Contenant cette liste :
Et mon fichier contenant le décors et dans le zip ci-dessous.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 enum { VIDE, /* 0 */ PERSONNAGE, /* 1 */ MUR, /* 2 */ SANDWICH, /* 3 */ EAU, /* 4 */ GANT, /* 5 */ WC, /* 6 */ LIT, /* 7 */ BALAIS, /* 8 */ ARBRE /* 9 */ }; // Les différentes images
Projet complet :
http://fr.packupload.com/CGOSLJN9LP6
Partager