Skip to content

Commit

Permalink
Fix objet (non testé)
Browse files Browse the repository at this point in the history
  • Loading branch information
Pyrodaz committed May 25, 2024
1 parent 45addfa commit a856734
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 5 deletions.
4 changes: 2 additions & 2 deletions CosmicYonder.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
#define UNICODE_STRING_LONG 10
#define TAILLE_MAX_V 10
#define TAILLE_MAX_H 20
#define MAX_SALLES 10
#define MAX_SALLES 80
#define IMAGES_PAR_SECONDE 60
#define MINUTEUR 300

Expand Down Expand Up @@ -210,7 +210,7 @@ Objet apparition_objet(Salle* salle, int* objets_speciaux_apparus, int sallesres
//permet de recuperer un objet
void recup_objet(Joueur* joueur, Salle* salle, Objet objet, int* nb_obj_inv, int* nb_obj_spe_inv);
//fait disparaitre un objet quand le joueur le ramasse
void desapparition_objet(Objet* objet, Salle* salle, WINDOW* win);
void disparition_objet(Objet* objet, Salle* salle, WINDOW* win);

//HUD
//Fait apparaitre l'interface graphique pour les informations du joueur et de la partie
Expand Down
2 changes: 1 addition & 1 deletion interactions.c
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,7 @@ void interactions(int touche, Joueur* joueur, Salle ** carte, int salles_existan
if(&(carte[i]->objets[j])!=NULL){
if(carte[i]->objets[j].x == joueur->x && carte[i]->objets[j].y == joueur->y){
recup_objet(joueur,carte[i],carte[i]->objets[j],nb_obj_inv,nb_obj_spe_inv);
desapparition_objet(&(carte[i]->objets[j]), carte[i], mainwin);
disparition_objet(&(carte[i]->objets[j]), carte[i], mainwin);
}
}
}
Expand Down
11 changes: 9 additions & 2 deletions objet.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Objet apparition_objet(Salle* salle, int* objets_speciaux_apparus, int sallesres
}

int x,y; //Coordonnées relatives de l'objet
//Sert à compter le nombre de fois qu'un objet est replacé à cause d'un objet déjà présent sur la case allouée
int compteur = 0;
Objet objet;

//Initialisation objet
Expand Down Expand Up @@ -57,7 +59,12 @@ Objet apparition_objet(Salle* salle, int* objets_speciaux_apparus, int sallesres
do{
x = 1 + rand()%((salle->longueur)-2); //Abscisse objet relative à la salle
y = 1 + rand()%((salle->hauteur)-2); //Ordonnée objet relative à la salle
}while(salle->disp[y][x]!=VIDE); //Condition pour ne pas écraser un objet ou un monstre de la salle
compteur++;
}while(salle->disp[y][x]!=VIDE && compteur < 3); //Condition pour ne pas écraser un objet ou un monstre de la salle

if(compteur >= 3){
return objet; //L'objet est dans le tableau de la salle mais on ne peut pas interagir avec
}

salle->disp[y][x] = objet.id;

Expand Down Expand Up @@ -85,7 +92,7 @@ void recup_objet(Joueur* joueur, Salle* salle, Objet objet, int* nb_obj_inv, int
}
}

void desapparition_objet(Objet* objet, Salle* salle, WINDOW* win){
void disparition_objet(Objet* objet, Salle* salle, WINDOW* win){
/*libere le pointeur sur l'ennemi et assigne l'attribut ennemi_existant a 0*/
if(objet==NULL){
exit(4);
Expand Down

0 comments on commit a856734

Please sign in to comment.