From 909d4bfb7b57782a19637eddc97c4798840ab8e8 Mon Sep 17 00:00:00 2001 From: stiti Date: Mon, 11 Dec 2023 18:40:04 +0100 Subject: [PATCH] =?UTF-8?q?peer=20working=20TP=20dev=20lundi=2011=20d?= =?UTF-8?q?=C3=A9cembre?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Makefile | 15 +++--- Snake | Bin 0 -> 22272 bytes include/obstacle.h | 17 ------- include/pomme.h | 2 +- src/jeu.c | 111 +++++++++++++++++++++++---------------------- src/menu.c | 2 +- src/obstacle.c | 41 ----------------- src/pomme.c | 4 +- src/serpent.c | 3 -- src/timer.c | 5 +- 10 files changed, 69 insertions(+), 131 deletions(-) create mode 100755 Snake delete mode 100644 include/obstacle.h delete mode 100644 src/obstacle.c diff --git a/Makefile b/Makefile index aa5cade..c9fad36 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,11 @@ -Snake : main.o jeu.o grille.o menu.o obstacle.o pomme.o serpent.o timer.o - gcc -lgraph -o Snake main.o jeu.o grille.o menu.o obstacle.o pomme.o serpent.o timer.o +Snake : main.o jeu.o grille.o menu.o pomme.o serpent.o timer.o + gcc -lgraph -o Snake main.o jeu.o grille.o menu.o pomme.o serpent.o timer.o main.o : ./src/main.c ./include/main.h ./include/menu.h ./include/jeu.h gcc -ansi -pedantic -c ./src/main.c -jeu.o : ./src/jeu.c ./include/grille.h ./include/serpent.h ./include/pomme.h ./include/jeu.h ./include/menu.h ./include/timer.h ./include/obstacle.h +jeu.o : ./src/jeu.c ./include/grille.h ./include/serpent.h ./include/pomme.h ./include/jeu.h ./include/menu.h ./include/timer.h gcc -ansi -pedantic -c ./src/jeu.c @@ -17,10 +17,6 @@ menu.o : ./src/menu.c ./include/menu.h ./include/main.h gcc -ansi -pedantic -c ./src/menu.c -obstacle.o : ./src/obstacle.c ./include/grille.h ./include/serpent.h ./include/obstacle.h ./include/pomme.h - - gcc -ansi -pedantic -c ./src/obstacle.c - pomme.o : ./src/pomme.c ./include/grille.h ./include/serpent.h gcc -ansi -pedantic -c ./src/pomme.c @@ -34,6 +30,9 @@ timer.o : ./src/timer.c ./include/timer.h gcc -ansi -pedantic -c ./src/timer.c clean : - -rm -f main.o jeu.o grille.o menu.o obstacle.o pomme.o serpent.o timer.o + -rm -f main.o jeu.o grille.o menu.o pomme.o serpent.o timer.o + +run : + ./Snake .phony : clean \ No newline at end of file diff --git a/Snake b/Snake new file mode 100755 index 0000000000000000000000000000000000000000..bdbe0843e2efa9816a6b29a4b5b3bc1f7cb4f062 GIT binary patch literal 22272 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 Zr^WwNy@E^6oXN|(?-CMMSPEEB_P>_JP?7)u literal 0 HcmV?d00001 diff --git a/include/obstacle.h b/include/obstacle.h deleted file mode 100644 index ea75509..0000000 --- a/include/obstacle.h +++ /dev/null @@ -1,17 +0,0 @@ -#ifndef OBSTACLE_H -#define OBSTACLE_H - -#include "../include/grille.h" -#include "../include/serpent.h" - -typedef struct { - int x; - int y; -} Obstacle; - -void dessinerObstacle(Obstacle obstacle); -int estCollisionObstacle(Obstacle obstacle, Segment serpent[], int longueur); -Obstacle creerObstacle(int largeurGrille, int hauteurGrille); -void placerObstacle(Obstacle obstacles[], int nombreObstacles, int largeurGrille, int hauteurGrille); - -#endif /*OBSTACLE_H*/ diff --git a/include/pomme.h b/include/pomme.h index 765aadd..e877b54 100644 --- a/include/pomme.h +++ b/include/pomme.h @@ -10,7 +10,7 @@ typedef struct { } Pomme; Pomme creerPomme(); -void dessinerPomme(Pomme pomme); +void dessinerPomme(Pomme pomme,int id_pomme); int verifierCollisionPommeSerpent(Pomme pomme, Segment serpent[], int longueur); #endif /*POMME_H*/ diff --git a/src/jeu.c b/src/jeu.c index 8418460..b6faf1c 100644 --- a/src/jeu.c +++ b/src/jeu.c @@ -7,7 +7,6 @@ #include "../include/jeu.h" #include "../include/menu.h" #include "../include/timer.h" -#include "../include/obstacle.h" void afficherScore(int score) { @@ -33,14 +32,16 @@ void lancer_jeu1(void) { char scoreStr[20]; Pomme pomme; int min, sec; + int id_pomme; initialiser_timer(&min, &sec); initialiserSerpent(serpent, &longueur); dessinerGrille(); + id_pomme=ChargerSprite("../img/pomme1.png"); pomme = creerPomme(); - dessinerPomme(pomme); + dessinerPomme(pomme,id_pomme); while (fin == 1) { update_timer(&min, &sec); @@ -51,7 +52,7 @@ void lancer_jeu1(void) { longueur++; score += 5; pomme = creerPomme(); - dessinerPomme(pomme); + dessinerPomme(pomme,id_pomme); } if (tuerSerpent(serpent, longueur)) { @@ -85,15 +86,17 @@ void lancer_jeu2(void) { char scoreStr[20]; Pomme pommes[5]; int min, sec; + int id_pomme; initialiser_timer(&min, &sec); initialiserSerpent(serpent, &longueur); dessinerGrille(); + id_pomme=ChargerSprite("../img/pomme1.png"); for (i = 0; i < 5; i++) { pommes[i] = creerPomme(); - dessinerPomme(pommes[i]); + dessinerPomme(pommes[i],id_pomme); } while (1) { @@ -105,7 +108,7 @@ void lancer_jeu2(void) { longueur++; score += 5; pommes[i] = creerPomme(); - dessinerPomme(pommes[i]); + dessinerPomme(pommes[i],id_pomme); } } @@ -141,14 +144,16 @@ void lancer_jeu4(void) { Pomme pomme; Segment serpent[100]; int min, sec; + int id_pomme; initialiser_timer(&min, &sec); initialiserSerpent(serpent, &longueur); dessinerGrille(); - + + id_pomme=ChargerSprite("../img/pomme1.png"); pomme = creerPomme(); - dessinerPomme(pomme); + dessinerPomme(pomme,id_pomme); while (1) { gestionDeplacements(serpent, &direction_x, &direction_y); @@ -158,7 +163,7 @@ void lancer_jeu4(void) { longueur++; score += 5; pomme = creerPomme(); - dessinerPomme(pomme); + dessinerPomme(pomme,id_pomme); /* Augmenter la vitesse à chaque pomme mangée*/ vitesse -= 5000; /* Réduire la durée d'attente (augmenter la vitesse)*/ @@ -185,67 +190,63 @@ void lancer_jeu4(void) { } void lancer_jeu3(void) { - int i,j; + int i; + Segment serpent[100]; int longueur = 10; int direction_x = 1; int direction_y = 0; + unsigned long int vitesse = 90000; /*vitesse de base*/ int score = 0; - unsigned long int vitesse = 100000; char scoreStr[20]; - Pomme pomme; - int nombreObstacles = 10; - Obstacle *obstacles = malloc(nombreObstacles * sizeof(Obstacle)); - Segment serpent[100]; + Pomme pommes[25]; int min, sec; + int id_pomme; + initialiser_timer(&min, &sec); initialiserSerpent(serpent, &longueur); dessinerGrille(); - - pomme = creerPomme(); - dessinerPomme(pomme); - - placerObstacle(obstacles, nombreObstacles, LARGEUR_GRILLE, HAUTEUR_GRILLE); + id_pomme=ChargerSprite("../img/pomme1.png"); + for (i = 0; i < 25; i++) { + pommes[i] = creerPomme(); + dessinerPomme(pommes[i],id_pomme); + } while (1) { - gestionDeplacements(serpent, &direction_x, &direction_y); - mettreAJourSerpent(serpent, &longueur, &direction_x, &direction_y); + gestionDeplacements(serpent, &direction_x, &direction_y); + mettreAJourSerpent(serpent, &longueur, &direction_x, &direction_y); - if (serpent[0].x == pomme.x && serpent[0].y == pomme.y) { - longueur++; - score += 5; - pomme = creerPomme(); - dessinerPomme(pomme); + for (i = 0; i < 25; i++) { + if (serpent[0].x == pommes[i].x && serpent[0].y == pommes[i].y) { + longueur++; + score += 5; + vitesse -=2500; + pommes[i] = creerPomme(); + dessinerPomme(pommes[i],id_pomme); + } + } - - vitesse -= 5000; - } + if (tuerSerpent(serpent, longueur)) { + int choixGameOver; + afficherMenuGameOver(); + afficher_seconde(sec); + afficher_minute(min); + afficherScore(score); + + /* Attend le choix du joueur après le game over */ + attendreChoixGameOver(); + return; + } + + dessinerSerpent(serpent, &longueur); - if (tuerSerpent(serpent, longueur)) { - int choixGameOver; - afficherMenuGameOver(); - afficher_seconde(sec); - afficher_minute(min); afficherScore(score); - /* Attend le choix du joueur après le game over */ - attendreChoixGameOver(); - return; + update_timer(&min, &sec); + + attendreSerpent(vitesse); /*Gère la vitesse*/ + + /*if (ToucheEnAttente() && Touche() == XK_Escape) { + return; + }*/ } - - - /*Dessiner le serpent et les obstacles*/ - dessinerSerpent(serpent, &longueur); - for (j = 0; j < nombreObstacles; j++) { - dessinerObstacle(obstacles[j]); - } - - afficherScore(score); - update_timer(&min, &sec); - - - /*Attendre en fonction de la vitesse actuelle*/ - attendreSerpent(vitesse); - -} -free(obstacles); -} +} \ No newline at end of file diff --git a/src/menu.c b/src/menu.c index 8851eec..de4a9f7 100644 --- a/src/menu.c +++ b/src/menu.c @@ -24,7 +24,7 @@ void afficherMenuModesDeJeu() { /* Affiche les boutons des modes de jeu */ afficherBouton(38.7, 639.9, 280.3, 742.9, "Classique", CouleurParComposante(168, 116, 67), CouleurParNom("black"), CouleurParNom("black"), 2); afficherBouton(332.6, 639.9, 574.2, 742.9, "MultiPommes", CouleurParComposante(168, 116, 67), CouleurParNom("black"), CouleurParNom("black"), 2); - afficherBouton(626.2, 639.9, 867.8, 742.9, "Obstacles", CouleurParComposante(168, 116, 67), CouleurParNom("black"), CouleurParNom("black"), 2); + afficherBouton(626.2, 639.9, 867.8, 742.9, "Partie Rapide", CouleurParComposante(168, 116, 67), CouleurParNom("black"), CouleurParNom("black"), 2); afficherBouton(919.7, 639.9, 1161.3, 742.9, "Acceleration", CouleurParComposante(168, 116, 67), CouleurParNom("black"), CouleurParNom("black"), 2); } diff --git a/src/obstacle.c b/src/obstacle.c deleted file mode 100644 index a7fa73a..0000000 --- a/src/obstacle.c +++ /dev/null @@ -1,41 +0,0 @@ -#include -#include -#include -#include -#include "../include/grille.h" -#include "../include/serpent.h" -#include "../include/obstacle.h" -#include "../include/pomme.h" - - - -void dessinerObstacle(Obstacle obstacle) { - int id_bombe; - id_bombe = ChargerSprite("../img/bombe.png"); - AfficherSprite(id_bombe,obstacle.x * TAILLE_CASE, obstacle.y * TAILLE_CASE); -} - -int estCollisionObstacle(Obstacle obstacle, Segment serpent[], int longueur) { - int i; - for (i = 0; i < longueur; i++) { - if (serpent[i].x == obstacle.x && serpent[i].y == obstacle.y) { - return 1; /*Collision avec un obstacle*/ - } - } - return 0; /*Pas de collision*/ -} - -Obstacle creerObstacle(int largeurGrille, int hauteurGrille) { - Obstacle obstacle; - obstacle.x = rand() % largeurGrille; - obstacle.y = rand() % hauteurGrille; - return obstacle; -} - -void placerObstacle(Obstacle obstacles[], int nombreObstacles, int largeurGrille, int hauteurGrille) { - int i; - for (i = 0; i < nombreObstacles; i++) { - obstacles[i] = creerObstacle(largeurGrille, hauteurGrille); - } -} - diff --git a/src/pomme.c b/src/pomme.c index f53e0d1..711a6ce 100644 --- a/src/pomme.c +++ b/src/pomme.c @@ -15,10 +15,8 @@ Pomme creerPomme() { return pomme; } -void dessinerPomme(Pomme pomme) { +void dessinerPomme(Pomme pomme,int id_pomme) { /* Affichez une pomme*/ - int id_pomme; - id_pomme = ChargerSprite("../img/pomme1.png"); AfficherSprite(id_pomme,pomme.x * TAILLE_CASE, pomme.y * TAILLE_CASE); } diff --git a/src/serpent.c b/src/serpent.c index b48a403..740bf75 100644 --- a/src/serpent.c +++ b/src/serpent.c @@ -37,9 +37,6 @@ void gestionDeplacements(Segment serpent[], int *direction_x, int *direction_y) } else if (touche == XK_Right && *direction_x == 0) { *direction_x = 1; *direction_y = 0; - } else if (touche == XK_Escape) { - FermerGraphique(); - main(); } else if (touche == XK_space) { pause(); } diff --git a/src/timer.c b/src/timer.c index 3842b7f..abe4ec1 100644 --- a/src/timer.c +++ b/src/timer.c @@ -74,9 +74,10 @@ void update_timer(int *min, int *sec) { } void pause(void) { - while (1) { + int pause=0; + while (pause==0) { if (ToucheEnAttente() && Touche() == XK_space) { - break; + pause=1; } } }