From 04f0411ed528e6e6f079cec5f625c2a5f0afcf98 Mon Sep 17 00:00:00 2001 From: rognant Date: Mon, 11 Dec 2023 14:40:56 +0100 Subject: [PATCH] t --- snake.c | 140 -------------------------------------------------------- 1 file changed, 140 deletions(-) delete mode 100644 snake.c diff --git a/snake.c b/snake.c deleted file mode 100644 index c3681b2..0000000 --- a/snake.c +++ /dev/null @@ -1,140 +0,0 @@ -#include -#include -#include -#include - -#define HAUTEUR 40 -#define LARGEUR 60 -#define TAILLE_CASE 20 -#define ESPACE_HAUT 35 -#define ESPACE_BAS 85 -#define NOMBRE_POMMES 5 -#define CYCLE 100000L - -typedef struct { - int x; - int y; -} Segment; - -void Attendre(unsigned int millisecondes) { - usleep(millisecondes * 1000); -} - -/* Fonction pour concevoir le graphique */ -void Graphique() { - InitialiserGraphique(); - CreerFenetre(10, 10, 1240, 940); - EcrireTexte(500, 400, "Le jeu va commencer !", 2); - sleep(1); - EffacerEcran(CouleurParComposante(0, 0, 0)); -} - -void AffichageBasique() { - ChoisirCouleurDessin(CouleurParComposante(111, 255, 94)); - RemplirRectangle(10, 10, TAILLE_CASE * LARGEUR, TAILLE_CASE * LARGEUR); -} - -/* Fonction permettant d'afficher le serpent */ -void afficherSerpent(Segment serpent[], int taille) { - int i; - couleur couleurSerpent = CouleurParComposante(255,255,0); - ChoisirCouleurDessin(couleurSerpent); - for (i = 0; i < 10; i++) { - serpent[i].x = LARGEUR / 2 + i * TAILLE_CASE; - serpent[i].y = HAUTEUR / 2; - } - for (i = 0; i < taille; i++) { - RemplirRectangle(serpent[i].x, serpent[i].y, TAILLE_CASE, TAILLE_CASE); - } -} - -void genererPommes(Segment pommes[]) { - for (int i = 0; i < NOMBRE_POMMES; i++) { - pommes[i].x = rand() % LARGEUR * TAILLE_CASE; - pommes[i].y = rand() % HAUTEUR * TAILLE_CASE; - ChoisirCouleurDessin(CouleurParComposante(255, 0, 0)); - RemplirRectangle(pommes[i].x * TAILLE_CASE, pommes[i].y * TAILLE_CASE, TAILLE_CASE, TAILLE_CASE); - } -} - -void deplacerSerpent(int longueurSerpent, Segment serpent[], int *direction) { - int i; - couleur c; - couleur v; - couleur s; - c = CouleurParComposante(0,0,0); - s = CouleurParComposante(255,255,0); - v = CouleurParComposante(111,255,94); - - for (i = 0; i < longueurSerpent; i++) { - ChoisirCouleurDessin(v); - RemplirRectangle(serpent[i].x, serpent[i].y, TAILLE_CASE, TAILLE_CASE); - } - for (i = longueurSerpent - 1; i > 0; i--) { - serpent[i] = serpent[i - 1]; - } - - if (ToucheEnAttente()) { - int touche = Touche(); - switch (touche) { - case XK_Right: - *direction = 1; - break; - case XK_Left: - *direction = 2; - break; - case XK_Up: - *direction = 3; - break; - case XK_Down: - *direction = 4; - break; - } - } - /* Déplace la tête en fonction de la direction */ - if (*direction == 1) { - serpent[0].x += TAILLE_CASE; - } else if (*direction == 2) { - serpent[0].x -= TAILLE_CASE; - } else if (*direction == 3) { - serpent[0].y -= TAILLE_CASE; - } else if (*direction == 4) { - serpent[0].y += TAILLE_CASE; - } - - for (i = 0; i < longueurSerpent; i++) { - ChoisirCouleurDessin(s); - RemplirRectangle(serpent[i].x, serpent[i].y, TAILLE_CASE, TAILLE_CASE); - } - Attendre(100); -} - - -int main() { - int touche, perdu = 0, i, j, x = 0, direction = 1, longueurSerpent = 10; - Segment serpent[LARGEUR * HAUTEUR]; - Segment pommes[NOMBRE_POMMES]; - couleur c = CouleurParComposante(0,0,0); - couleur v = CouleurParComposante(111,255,94); - couleur s = CouleurParComposante(255,255,0); - srand(time(NULL)); - - /* Position initiale du serpent au milieu du tableau */ - serpent[0].x = LARGEUR / 2 * TAILLE_CASE; - serpent[0].y = HAUTEUR / 2 * TAILLE_CASE; - - - Graphique(); - EffacerEcran(c); - AffichageBasique(); - genererPommes(pommes); - afficherSerpent(serpent, longueurSerpent); - - while (perdu!=-1) { - deplacerSerpent(longueurSerpent, serpent, &direction); - } - - Touche(); - FermerGraphique(); - return EXIT_SUCCESS; -}