salut ,
je sais pas vraiment si c' est le bon forum , ou si quelqun de gentil peut me répondre mais je poste quand meme
Alors
pour un projet info je fait un pacman , j' utilise la librairie SDL
pour l affichage .J' arrive a afficher un ligne ou une colone de la map
( les mur) mais je ne peut pas afficher la deuxieme elle fait planter
le programme
Mes sprite font 32*32 pixel .
Ma map est defini par un tableau d' entier a deux dimention map[19][19] quand il est egal a 1 il y a un mur quand =0 c' est vide
Voici ma fonction d' affichage:
SDL_Rect rect_aff;
SDL_Surface *Screen, *image ,*mur;
// fonction qui affiche le pacman en XY et affiche les mur
void affichage(int X,int Y)
{
int x,y,a,b,A,B;
x=32*X;
y=32*Y;
// Coloration de la surfaces de pacman
SDL_FillRect(Screen, NULL, 0);
// Définition de la zone à l'écran du pacman
rect_aff.x = x;
rect_aff.y = y;
// Blit de la surface du pakman à l'écran
SDL_BlitSurface(image,NULL,Screen,&rect_aff);
mur = SDL_LoadBMP("./brik.bmp");
a=-1;
b=-1;
do{a=a+1 //balayage du tableau
do {b=b+1;
if(map[a][b]==1)
{
A=32*a; //passage des coordonner du pixel a ceux du sprite
B=32*b;
rect_aff.x = B;
rect_aff.y = A ;
SDL_BlitSurface(mur,NULL,Screen,&rect_aff);
}
}
while (b!=19);}
while (b!=19);
SDL_Flip(Screen); //affichage
}
je
pense qu' il doit y avoir une limite au nombre de surface que l on peut
remplir car le pacman s' affiche parfaitement , et si je n' affiche qu'
une
seul ligne ou une seule colone ( une seul boucle do while) alors cela marche ...
voila , si quelqun a une petite idée je serait vraiment heureux

merci d' avance .