bonjour à tous,
je débute ne c, et je développe un sokoban d'entrainement. La partie logique est fonctionnelle et je m'attaque maintenant à la partie graqhique.
Je créé pour cela une structure de tuile pour créé une map.
voici le code :
Pour des raison de faciliter, le fait des allocation statique de tableau.
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 #include <stdio.h> #include <stdlib.h> #include "SDL/SDL.h" #include "constantes.h" typedef struct S_Tile { SDL_Surface *image; int symbole; }S_Tile; typedef struct S_Map { S_Tile map[HEIGHT_ARRAY][WIDTH_ARRAY]; }S_Map; S_Map* initMap(void); void displayMap(const S_Map *level); int main() { S_Map *level; level=initMap(); displayMap(level); return EXIT_SUCCESS; } S_Map* initMap(void) { S_Map *initLevel={NULL}; int i, j; for (i=0; i<HEIGHT_ARRAY; i++) { for (j=0; j<WIDTH_ARRAY; j++) { initLevel->map[i][j].image=NULL; } } return initLevel; } void displayMap(const S_Map *levelMap) { int i, j; for (i=0; i<HEIGHT_ARRAY; i++) { for (j=0; j<WIDTH_ARRAY; j++) { printf("map : initlevel.map[%d][%d]=%p\n", i,j,levelMap->map[i][j].image); } } }
HEIGHT_ARRAY et WIDTH_ARRAY valent 12.
A la compilation, aucun message d'avertissement ni à l'édition de lien.
Par contre à l'execution, je reçoit un segment fault avec GCC 4.2 sur ubuntu.
Quelqu'un pourrait-il m'expliquer le pourquoi ?
Merci d'avance
Partager