ajout de la fonction de manger des pommes
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <graph.h>
|
||||
#include <time.h>
|
||||
#include "supp_queue.h"
|
||||
|
||||
|
||||
@@ -14,29 +15,99 @@
|
||||
void supp_queue( struct adresse* pointeur ) {
|
||||
|
||||
|
||||
unsigned int** corps_serpent = pointeur -> corps_serpent;
|
||||
int** corps_serpent = pointeur -> corps_serpent;
|
||||
|
||||
unsigned int* taille_serpent = pointeur -> taille_serpent;
|
||||
int** plateau = pointeur -> plateau;
|
||||
|
||||
unsigned short* taille_serpent = pointeur -> taille_serpent;
|
||||
|
||||
unsigned char* tete = pointeur -> tete;
|
||||
|
||||
unsigned int* indice_queue = pointeur -> indice_queue;
|
||||
unsigned short* indice_queue = pointeur -> indice_queue;
|
||||
|
||||
|
||||
int ligne_pomme, colonne_pomme;
|
||||
|
||||
|
||||
|
||||
|
||||
couleur green;
|
||||
couleur green, red;
|
||||
|
||||
|
||||
srand(time(NULL));
|
||||
|
||||
|
||||
|
||||
|
||||
green = CouleurParComposante(50,205,50);
|
||||
ChoisirCouleurDessin(green);
|
||||
RemplirRectangle(20*(corps_serpent[*indice_queue][1]+1),20*(corps_serpent[*indice_queue][0]+1),20,20);
|
||||
|
||||
corps_serpent[*indice_queue][0] = tete[0];
|
||||
corps_serpent[*indice_queue][1] = tete[1];
|
||||
/* teste si le serpent mange une pomme */
|
||||
|
||||
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));
|
||||
|
||||
corps_serpent[*taille_serpent - 1][0] = tete[0];
|
||||
corps_serpent[*taille_serpent - 1][1] = tete[1];
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/* 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;
|
||||
}
|
||||
|
||||
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 {
|
||||
|
||||
*indice_queue = *indice_queue + 1;
|
||||
green = CouleurParComposante(50,205,50);
|
||||
ChoisirCouleurDessin(green);
|
||||
RemplirRectangle(20*(corps_serpent[*indice_queue][1]+1),20*(corps_serpent[*indice_queue][0]+1),20,20);
|
||||
|
||||
corps_serpent[*indice_queue][0] = tete[0];
|
||||
corps_serpent[*indice_queue][1] = tete[1];
|
||||
|
||||
|
||||
*indice_queue = *indice_queue + 1;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ( *indice_queue == *taille_serpent ) {
|
||||
|
||||
|
Reference in New Issue
Block a user