Files
SAE11_2023/snake/main.c

138 lines
1.8 KiB
C

#include <stdlib.h>
#include <stdio.h>
#include <graph.h>
#include "fenetre.h"
#include "plateau_init.h"
#include "deplacement.h"
#include "score_init.h"
#include "ecran_lancement.h"
#define CYCLE 200000L
int main(void) {
struct adresse* pointeur = plateau_init();
int** plateau = pointeur -> plateau;
short int* compteur = NULL;
int i = 0, j;
unsigned short* indice_queue = pointeur -> indice_queue;
unsigned char* sens = NULL;
unsigned char* retard = NULL;
unsigned char* tete = pointeur -> tete;
unsigned char jeu;
unsigned long suivant;
sens = malloc(sizeof(unsigned char));
*sens = 2;
retard = malloc(sizeof(unsigned char));
*retard = 0;
suivant = Microsecondes() + CYCLE;
InitialiserGraphique();
/*initialisation de la taille de la fenetre de jeux*/
CreerFenetre(10,10,1450,840);
/* affichage du l'écran principale */
jeu = ecran_lancement();
start(pointeur);
compteur = score_init();
while (jeu == 1) {
if (Microsecondes() > suivant) {
/* printf("(%d %d)\n", pointeur -> corps_serpent[*indice_queue][0], pointeur -> corps_serpent[*indice_queue][1]);
printf("[%hhu %hhu]\n", tete[0], tete[1]);*/
jeu = deplacement(pointeur, sens, retard, compteur);
suivant = Microsecondes() + CYCLE;
}
}
/* déallocations des tableaux */
for ( i = 0; i < LIGNES; i++) {
free(pointeur -> plateau[i]);
}
free(pointeur -> plateau);
for ( i = 0; i < TAILLE_SERPENT; i++) {
free(pointeur -> corps_serpent[i]);
}
free(pointeur -> corps_serpent);
free(pointeur -> tete);
free(pointeur -> indice_queue);
free(sens);
free(pointeur -> taille_serpent);
free(pointeur);
free(compteur);
free(retard);
FermerGraphique();
return EXIT_SUCCESS;
}