2023-12-07 18:15:48 +01:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <graph.h>
|
|
|
|
#include "../include/grille.h"
|
|
|
|
#include "../include/serpent.h"
|
2023-12-13 07:41:20 +01:00
|
|
|
#include "../include/pomme.h"
|
2023-12-07 18:15:48 +01:00
|
|
|
|
2023-12-13 07:41:20 +01:00
|
|
|
Pomme creerPomme(Segment serpent[], int longueur) {
|
2023-12-07 18:15:48 +01:00
|
|
|
Pomme pomme;
|
2023-12-13 07:41:20 +01:00
|
|
|
int i;
|
|
|
|
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]);
|
|
|
|
|
2023-12-07 18:15:48 +01:00
|
|
|
return pomme;
|
|
|
|
}
|
|
|
|
|
2023-12-13 07:41:20 +01:00
|
|
|
void dessinerPomme(Pomme pomme, int id_pomme) {
|
|
|
|
/* Affichez une pomme */
|
|
|
|
AfficherSprite(id_pomme, pomme.x * TAILLE_CASE, pomme.y * TAILLE_CASE);
|
2023-12-07 18:15:48 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
int verifierCollisionPommeSerpent(Pomme pomme, Segment serpent[], int longueur) {
|
|
|
|
int i;
|
2023-12-13 07:41:20 +01:00
|
|
|
/* Vérifie si la pomme est sur une case occupée par le serpent */
|
2023-12-07 18:15:48 +01:00
|
|
|
for (i = 0; i < longueur; ++i) {
|
|
|
|
if (pomme.x == serpent[i].x && pomme.y == serpent[i].y) {
|
|
|
|
return 1; /* Collision */
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return 0; /* Pas de collision */
|
|
|
|
}
|