Correction bug

This commit is contained in:
stiti 2023-12-13 07:41:20 +01:00
parent 3b588c6e7c
commit 371da48697
2 changed files with 19 additions and 13 deletions

View File

@ -10,7 +10,6 @@ int gestionDeplacements(Segment serpent[], int *direction_x, int *direction_y);
int tuerSerpent(Segment serpent[], int longueur); int tuerSerpent(Segment serpent[], int longueur);
void mettreAJourSerpent(Segment serpent[], int *longueur, int *direction_x, int *direction_y); void mettreAJourSerpent(Segment serpent[], int *longueur, int *direction_x, int *direction_y);
void dessinerSerpent(Segment serpent[], int *longueur); void dessinerSerpent(Segment serpent[], int *longueur);
int seMangerQueue(Segment serpent[], int longueur);
void attendreSerpent(unsigned long int microseconds); void attendreSerpent(unsigned long int microseconds);
#endif /*SERPENT_H*/ #endif /*SERPENT_H*/

View File

@ -2,27 +2,34 @@
#include <graph.h> #include <graph.h>
#include "../include/grille.h" #include "../include/grille.h"
#include "../include/serpent.h" #include "../include/serpent.h"
#include "../include/pomme.h"
typedef struct { Pomme creerPomme(Segment serpent[], int longueur) {
int x;
int y;
} Pomme;
Pomme creerPomme() {
Pomme pomme; Pomme pomme;
pomme.x = rand() % 60; int i;
pomme.y = rand() % 40; int serpentOccupation[LARGEUR_GRILLE][HAUTEUR_GRILLE] = {0}; /*Utiliser les constantes de grille.h*/
/*Marquer les cases occupées par le serpent*/
for (i = 0; i < longueur; ++i) {
serpentOccupation[serpent[i].x][serpent[i].y] = 1;
}
do {
pomme.x = rand() % LARGEUR_GRILLE;
pomme.y = rand() % HAUTEUR_GRILLE;
} while (serpentOccupation[pomme.x][pomme.y]);
return pomme; return pomme;
} }
void dessinerPomme(Pomme pomme,int id_pomme) { void dessinerPomme(Pomme pomme, int id_pomme) {
/* Affichez une pomme*/ /* Affichez une pomme */
AfficherSprite(id_pomme,pomme.x * TAILLE_CASE, pomme.y * TAILLE_CASE); AfficherSprite(id_pomme, pomme.x * TAILLE_CASE, pomme.y * TAILLE_CASE);
} }
int verifierCollisionPommeSerpent(Pomme pomme, Segment serpent[], int longueur) { int verifierCollisionPommeSerpent(Pomme pomme, Segment serpent[], int longueur) {
int i; int i;
/*Vérifie si la pomme est sur une case occupée par le serpent*/ /* Vérifie si la pomme est sur une case occupée par le serpent */
for (i = 0; i < longueur; ++i) { for (i = 0; i < longueur; ++i) {
if (pomme.x == serpent[i].x && pomme.y == serpent[i].y) { if (pomme.x == serpent[i].x && pomme.y == serpent[i].y) {
return 1; /* Collision */ return 1; /* Collision */