SAE11_2023/pomme.c
2023-12-22 14:07:57 +01:00

54 lines
1.8 KiB
C

#include <stdlib.h>
#include <graph.h>
#include <time.h>
#include <stdio.h>
#include "pomme.h"
#include "terrain.h"
#include "serpent.h"
/*Fonction permettant l'initialisation d'un nombre donnée en parametre de pastille*/
void Creation_Pastille(int nombre, Pastille pomme[], int longSerpent, Segment serpent[])
{
int i;
for (i = 0; i < nombre; i++)
{
pomme[i].x = rand() % (COLONNES) * TAILLE_CASE + CONTOURE_L * TAILLE_CASE;
pomme[i].y = rand() % (LIGNES) * TAILLE_CASE + (CONTOURE_H * TAILLE_CASE);
Validation_Coordonne( i, pomme, longSerpent, serpent, &pomme[i]);
}
}
/*Fonction validant les coordonnées des pastilles*/
void Validation_Coordonne(int nombre, Pastille pomme[], int longSerpent, Segment serpent[], Pastille* nouvelle_pomme){
int coordonee_ok, j;
Pastille pastilles;
do{
coordonee_ok = 0;
pastilles.x = (rand() % COLONNES) * TAILLE_CASE + (CONTOURE_L * TAILLE_CASE);
pastilles.y = (rand() % LIGNES) * TAILLE_CASE + (CONTOURE_H * TAILLE_CASE);
for (j = 0; j < longSerpent; j++){
if (nouvelle_pomme->x == serpent[j].x && pomme->y == serpent[j].y){
coordonee_ok = 1;
break;
}
}
if (coordonee_ok == 0){
for (j = 0; j < nombre; j++){
if (nouvelle_pomme->x == pomme[j].x && nouvelle_pomme-> y== pomme[j].y){
coordonee_ok = 1;
break;
}
}
}
}while (coordonee_ok);
nouvelle_pomme->x =pastilles.x;
nouvelle_pomme->y =pastilles.y;
}
/*Fonction permettant l'affichage d'un nombre donnée de pastilles*/
void Afficher_Pastille(int n,Pastille pomme[]){
int i;
for (i = 0; i < n;i++){
ChargerImage("pomme.png", pomme[i].x, pomme[i].y, 26,26, TAILLE_CASE, TAILLE_CASE);
}
}