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:

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
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;
            }
       }
}
Le problème de ce code est que le jeu plante...
Avec le debuggeur voici ce qui est afficher:

Nom : erreur message.PNG
Affichages : 268
Taille : 4,7 Ko

Nom : teste.PNG
Affichages : 267
Taille : 8,1 Ko

Je ne comprend pas ce que cela veut dire....
je lui envoie les mauvais paramètre?
Actuellement je lui envoie ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
if(Coup)
deplaceMobs(carte, &position, &PV);
SDL_BlitSurface(Mobs, NULL, Screen, &position);
Merci d'avance pour votre aide