2023-12-17 04:09:38 +01:00
|
|
|
|
2023-11-23 01:26:15 +01:00
|
|
|
#include <stdlib.h>
|
|
|
|
#include <stdio.h>
|
2023-12-10 22:51:36 +01:00
|
|
|
#include <graph.h>
|
2023-11-30 20:50:39 +01:00
|
|
|
#include "fenetre.h"
|
|
|
|
#include "plateau_init.h"
|
2023-12-12 17:39:55 +01:00
|
|
|
#include "deplacement.h"
|
2023-12-17 04:09:38 +01:00
|
|
|
#include "score_init.h"
|
2023-12-20 00:09:59 +01:00
|
|
|
#include "ecran_lancement.h"
|
2023-12-10 23:03:16 +01:00
|
|
|
|
2023-12-10 00:36:22 +01:00
|
|
|
|
2023-12-14 01:07:57 +01:00
|
|
|
#define CYCLE 200000L
|
2023-11-23 01:26:15 +01:00
|
|
|
|
|
|
|
|
2023-11-30 20:50:39 +01:00
|
|
|
int main(void) {
|
2023-11-23 01:26:15 +01:00
|
|
|
|
2023-12-11 16:19:17 +01:00
|
|
|
|
2023-12-12 16:17:06 +01:00
|
|
|
struct adresse* pointeur = plateau_init();
|
2023-12-11 16:19:17 +01:00
|
|
|
|
2023-12-18 00:30:29 +01:00
|
|
|
int** plateau = pointeur -> plateau;
|
|
|
|
|
2023-12-13 17:00:25 +01:00
|
|
|
short int* compteur = NULL;
|
|
|
|
|
2023-12-18 00:30:29 +01:00
|
|
|
int i = 0, j;
|
2023-12-11 16:19:17 +01:00
|
|
|
|
2023-12-12 17:27:44 +01:00
|
|
|
|
2023-12-17 04:09:38 +01:00
|
|
|
unsigned short* indice_queue = pointeur -> indice_queue;
|
2023-12-15 20:14:39 +01:00
|
|
|
|
|
|
|
|
2023-12-12 19:55:28 +01:00
|
|
|
unsigned char* sens = NULL;
|
2023-12-18 23:40:33 +01:00
|
|
|
unsigned char* retard = NULL;
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-15 20:14:39 +01:00
|
|
|
unsigned char* tete = pointeur -> tete;
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-20 00:09:59 +01:00
|
|
|
unsigned char jeu;
|
2023-12-12 17:39:55 +01:00
|
|
|
|
|
|
|
unsigned long suivant;
|
|
|
|
|
2023-12-23 16:23:43 +01:00
|
|
|
unsigned long acceleration = 0L;
|
|
|
|
|
|
|
|
int numsprite;
|
|
|
|
|
2023-12-13 17:00:25 +01:00
|
|
|
|
2023-12-14 01:07:57 +01:00
|
|
|
|
2023-12-12 19:55:28 +01:00
|
|
|
sens = malloc(sizeof(unsigned char));
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-12 19:55:28 +01:00
|
|
|
*sens = 2;
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-18 23:40:33 +01:00
|
|
|
retard = malloc(sizeof(unsigned char));
|
|
|
|
|
|
|
|
*retard = 0;
|
|
|
|
|
2023-12-12 17:39:55 +01:00
|
|
|
|
|
|
|
suivant = Microsecondes() + CYCLE;
|
|
|
|
|
|
|
|
|
|
|
|
|
2023-12-12 17:43:07 +01:00
|
|
|
|
2023-12-11 16:19:17 +01:00
|
|
|
InitialiserGraphique();
|
2023-12-10 00:36:22 +01:00
|
|
|
|
|
|
|
/*initialisation de la taille de la fenetre de jeux*/
|
|
|
|
|
|
|
|
CreerFenetre(10,10,1450,840);
|
2023-12-07 11:16:30 +01:00
|
|
|
|
2023-12-20 00:09:59 +01:00
|
|
|
/* affichage du l'écran principale */
|
2023-12-07 11:16:30 +01:00
|
|
|
|
2023-12-20 00:09:59 +01:00
|
|
|
jeu = ecran_lancement();
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-13 17:00:25 +01:00
|
|
|
|
2023-12-23 16:23:43 +01:00
|
|
|
numsprite = start(pointeur);
|
2023-12-01 19:06:10 +01:00
|
|
|
|
2023-12-13 17:00:25 +01:00
|
|
|
compteur = score_init();
|
|
|
|
|
2023-12-23 16:23:43 +01:00
|
|
|
|
2023-12-13 19:35:19 +01:00
|
|
|
|
2023-12-18 00:30:29 +01:00
|
|
|
while (jeu == 1) {
|
2023-12-11 16:19:17 +01:00
|
|
|
|
|
|
|
if (Microsecondes() > suivant) {
|
|
|
|
|
2023-12-18 00:30:29 +01:00
|
|
|
/* printf("(%d %d)\n", pointeur -> corps_serpent[*indice_queue][0], pointeur -> corps_serpent[*indice_queue][1]);
|
|
|
|
|
|
|
|
printf("[%hhu %hhu]\n", tete[0], tete[1]);*/
|
2023-12-17 04:09:38 +01:00
|
|
|
|
2023-12-14 01:07:57 +01:00
|
|
|
|
2023-12-15 20:14:39 +01:00
|
|
|
|
2023-12-14 01:07:57 +01:00
|
|
|
|
2023-12-23 16:23:43 +01:00
|
|
|
jeu = deplacement(pointeur, sens, retard, compteur, &acceleration, numsprite);
|
2023-12-11 16:19:17 +01:00
|
|
|
|
2023-12-23 16:23:43 +01:00
|
|
|
suivant = Microsecondes() + CYCLE - acceleration;
|
|
|
|
|
|
|
|
printf("{%ld}", acceleration);
|
2023-12-13 19:29:11 +01:00
|
|
|
|
2023-12-18 00:30:29 +01:00
|
|
|
|
|
|
|
|
2023-12-14 01:07:57 +01:00
|
|
|
|
2023-12-11 16:19:17 +01:00
|
|
|
|
2023-12-17 04:09:38 +01:00
|
|
|
}
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-17 04:09:38 +01:00
|
|
|
}
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-23 16:23:43 +01:00
|
|
|
LibererSprite(numsprite);
|
|
|
|
|
2023-12-12 17:39:55 +01:00
|
|
|
|
|
|
|
|
|
|
|
/* déallocations des tableaux */
|
|
|
|
|
|
|
|
for ( i = 0; i < LIGNES; i++) {
|
|
|
|
|
2023-12-17 04:09:38 +01:00
|
|
|
free(pointeur -> plateau[i]);
|
2023-12-12 17:39:55 +01:00
|
|
|
|
|
|
|
}
|
2023-12-17 04:09:38 +01:00
|
|
|
free(pointeur -> plateau);
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-14 01:07:57 +01:00
|
|
|
|
2023-12-17 04:09:38 +01:00
|
|
|
for ( i = 0; i < TAILLE_SERPENT; i++) {
|
2023-12-14 01:07:57 +01:00
|
|
|
|
|
|
|
free(pointeur -> corps_serpent[i]);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
free(pointeur -> corps_serpent);
|
|
|
|
|
|
|
|
|
2023-12-12 19:55:28 +01:00
|
|
|
free(pointeur -> tete);
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-14 01:07:57 +01:00
|
|
|
free(pointeur -> indice_queue);
|
|
|
|
|
|
|
|
free(sens);
|
2023-12-12 17:39:55 +01:00
|
|
|
|
2023-12-14 01:07:57 +01:00
|
|
|
free(pointeur -> taille_serpent);
|
2023-12-12 17:39:55 +01:00
|
|
|
|
|
|
|
|
2023-12-12 19:55:28 +01:00
|
|
|
free(pointeur);
|
2023-12-10 00:36:22 +01:00
|
|
|
|
2023-12-13 17:00:25 +01:00
|
|
|
free(compteur);
|
|
|
|
|
2023-12-18 23:40:33 +01:00
|
|
|
free(retard);
|
|
|
|
|
2023-12-10 00:36:22 +01:00
|
|
|
|
2023-12-12 17:27:44 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
2023-12-17 04:09:38 +01:00
|
|
|
FermerGraphique();
|
2023-12-12 17:27:44 +01:00
|
|
|
|
2023-12-17 04:09:38 +01:00
|
|
|
return EXIT_SUCCESS;
|
2023-11-23 01:26:15 +01:00
|
|
|
}
|