Bonjour a tout le monde,
Je programme actuellement un jeu avec la bibliothèque SDL 1.2 sur la base du sokaban game pour le déplacement et le décors (jeu disponible ici: https://uptobox.com/l9z1v1wnfpz5) mais j'ai un problème qui c'est posé quand j'ai essayer de rajouter des monstres....
En effet l'objectif était de déplacer dans une direction aléatoire chaque monstre de façons indépendant mais sois le monstre ne bouge pas sois le jeu plante...
le code de déplacement est actuellement celui ci:
Le problème de ce code est que le jeu plante...Code:
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 void deplaceMobs(int carte[][NB_BLOCS_HAUTEUR], SDL_Rect *posi, int *PV) { int xdir = 0, ydir = 0; switch(rand()%4) { case 0: xdir = 1; break; case 1: xdir = -1; break; case 2: ydir = 1; break; case 3: ydir = -1; break; default: break; } if((carte[posi->x+xdir][posi->y+ydir]!=MUR && carte[posi->x+xdir][posi->y+ydir]!=MOB) && (carte[posi->x+xdir][posi->y+ydir]!=OBJECTIF && carte[posi->x+xdir][posi->y+ydir]!=PASSMUR)) { if(carte[posi->x+xdir][posi->y+ydir]==PLAYEUR) (*PV)--; else { carte[posi->x][posi->y]=CHEMIN; carte[posi->x+xdir][posi->y+ydir]=MOB; } } }
Avec le debuggeur voici ce qui est afficher:
Pièce jointe 386759
Pièce jointe 386763
Je ne comprend pas ce que cela veut dire....
je lui envoie les mauvais paramètre?
Actuellement je lui envoie ceci:
Merci d'avance pour votre aideCode:
1
2
3 if(Coup) deplaceMobs(carte, &position, &PV); SDL_BlitSurface(Mobs, NULL, Screen, &position);