mise à jour de l'évenement manger une pomme

This commit is contained in:
2023-12-18 23:40:33 +01:00
parent 11b6a7d7dd
commit 191e031597
8 changed files with 183 additions and 96 deletions

View File

@@ -8,11 +8,12 @@
#include <graph.h>
#include <time.h>
#include "supp_queue.h"
#include "augmentation_serpent.h"
void supp_queue( struct adresse* pointeur ) {
void supp_queue( struct adresse* pointeur, unsigned char* retard ) {
int** corps_serpent = pointeur -> corps_serpent;
@@ -41,67 +42,47 @@ void supp_queue( struct adresse* pointeur ) {
if (plateau[tete[0]][tete[1]] == 2 ) {
/* augmentation de la taille du serpent */
*taille_serpent = *taille_serpent + 1;
corps_serpent = realloc( corps_serpent, *taille_serpent * sizeof(int*));
pointeur -> corps_serpent = corps_serpent;
corps_serpent[*taille_serpent - 1] = malloc( 2 * sizeof(int));
/* printf("%d %d \n", tete[0], tete[1]);
*retard = *retard + 2;
/* problème de mise en place de la tête du serpent au bonne endroit dans le corps */
if (*retard >0 ) {
corps_serpent[*taille_serpent - 1][0] = tete[0];
corps_serpent[*taille_serpent - 1][1] = tete[1];
/*for (i = 0; i < *taille_serpent; i++) {
printf("[%d %d] ", corps_serpent[i][0], corps_serpent[i][1]);
}
printf("\n");*/
augmentation_serpent(pointeur);
*retard = *retard - 1;
}else{
/* apparition de la nouvelle pomme */
/* apparition de la nouvelle pomme */
ligne_pomme = rand() % 40;
colonne_pomme = rand() % 60;
/* teste pour ne pas faire apparaître la pomme sur une case déjà occupée */
while (plateau[ligne_pomme][colonne_pomme] == 2 || plateau[ligne_pomme][colonne_pomme] == 1) {
ligne_pomme = rand() % 40;
colonne_pomme = rand() % 60;
/* teste pour ne pas faire apparaître la pomme sur une case déjà occupée */
while (plateau[ligne_pomme][colonne_pomme] == 2 || plateau[ligne_pomme][colonne_pomme] == 1) {
ligne_pomme = rand() % 40;
colonne_pomme = rand() % 60;
}
plateau[ligne_pomme][colonne_pomme] = 2;
red = CouleurParComposante(255,0,0);
ChoisirCouleurDessin(red);
RemplirRectangle(20*(colonne_pomme + 1),20*(ligne_pomme + 1),20,20);
}
plateau[ligne_pomme][colonne_pomme] = 2;
red = CouleurParComposante(255,0,0);
ChoisirCouleurDessin(red);
RemplirRectangle(20*(colonne_pomme + 1),20*(ligne_pomme + 1),20,20);
}
else {
green = CouleurParComposante(50,205,50);
@@ -130,6 +111,6 @@ void supp_queue( struct adresse* pointeur ) {
}