diff --git a/src/jeu.c b/src/jeu.c index cb51007..8418460 100644 --- a/src/jeu.c +++ b/src/jeu.c @@ -24,9 +24,9 @@ void afficherScore(int score) { void lancer_jeu1(void) { + int fin = 1; Segment serpent[100]; int longueur = 10; - unsigned long int vitesse = 100000; int direction_x = 1; int direction_y = 0; int score = 0; @@ -42,7 +42,7 @@ void lancer_jeu1(void) { pomme = creerPomme(); dessinerPomme(pomme); - while (1) { + while (fin == 1) { update_timer(&min, &sec); gestionDeplacements(serpent, &direction_x, &direction_y); mettreAJourSerpent(serpent, &longueur, &direction_x, &direction_y); @@ -61,14 +61,15 @@ void lancer_jeu1(void) { afficher_minute(min); afficherScore(score); /* Attend le choix du joueur après le game over */ - choixGameOver = attendreChoixGameOver(); + attendreChoixGameOver(); + return; } dessinerSerpent(serpent, &longueur); afficherScore(score); update_timer(&min, &sec); - attendreSerpent(vitesse); + attendreSerpent(150000); } } @@ -79,7 +80,7 @@ void lancer_jeu2(void) { int longueur = 10; int direction_x = 1; int direction_y = 0; - unsigned long int vitesse = 100000; /*vitesse de base*/ + unsigned long int vitesse = 200000; /*vitesse de base*/ int score = 0; char scoreStr[20]; Pomme pommes[5]; @@ -116,7 +117,8 @@ void lancer_jeu2(void) { afficherScore(score); /* Attend le choix du joueur après le game over */ - choixGameOver = attendreChoixGameOver(); + attendreChoixGameOver(); + return; } dessinerSerpent(serpent, &longueur); @@ -134,7 +136,7 @@ void lancer_jeu4(void) { int direction_x = 1; int direction_y = 0; int score = 0; - unsigned long int vitesse = 100000; /*vitesse de base*/ + unsigned long int vitesse = 300000; /*vitesse de base*/ char scoreStr[20]; Pomme pomme; Segment serpent[100]; @@ -170,7 +172,8 @@ void lancer_jeu4(void) { afficher_seconde(sec); /* Attend le choix du joueur après le game over */ - choixGameOver = attendreChoixGameOver(); + attendreChoixGameOver(); + return; } dessinerSerpent(serpent, &longueur); @@ -225,35 +228,10 @@ void lancer_jeu3(void) { afficher_minute(min); afficherScore(score); /* Attend le choix du joueur après le game over */ - choixGameOver = attendreChoixGameOver(); + attendreChoixGameOver(); + return; } - /*Vérifier la collision avec les obstacles*/ - for (i = 0; i < nombreObstacles; i++) { - if (estCollisionObstacle(obstacles[i], serpent, longueur)) { - int choixGameOver; - afficherMenuGameOver(); - afficher_seconde(sec); - afficher_minute(min); - afficherScore(score); - - /* Attend le choix du joueur après le game over */ - choixGameOver = attendreChoixGameOver(); - if (choixGameOver == 1) { - /*Réinitialiser le jeu*/ - longueur = 10; - score = 0; - vitesse = 28000000; - initialiserSerpent(serpent, &longueur); - dessinerGrille(); - pomme = creerPomme(); - dessinerPomme(pomme); - placerObstacle(obstacles, nombreObstacles, LARGEUR_GRILLE, HAUTEUR_GRILLE); - } else if (choixGameOver == 2) { - FermerGraphique(); - } - } - } /*Dessiner le serpent et les obstacles*/ dessinerSerpent(serpent, &longueur); diff --git a/src/main.c b/src/main.c index 82c9627..e47a2d4 100644 --- a/src/main.c +++ b/src/main.c @@ -8,7 +8,7 @@ -int menus(void) { +void menus(void) { int choixMenuPrincipal = 0; int choixModesDeJeu = 0; while (1) { @@ -36,9 +36,9 @@ int menus(void) { } } else if (choixMenuPrincipal == 2) { FermerGraphique(); - return EXIT_SUCCESS; } } + return; } diff --git a/src/menu.c b/src/menu.c index f2cfb95..8851eec 100644 --- a/src/menu.c +++ b/src/menu.c @@ -38,7 +38,7 @@ void afficherMenuGameOver(void) { } -int attendreChoixGameOver() { +void attendreChoixGameOver(void) { int x, y; while (1) { @@ -49,8 +49,7 @@ int attendreChoixGameOver() { /* Vérifie si le bouton "Menu Principal" est cliqué */ if (x >= 379 && x <= 830.7 && y >= 530.3 && y <= 670.1) { - EffacerEcran(CouleurParNom("white")); - menus(); /* Renvoie vers le menu principal" */ + return; } } diff --git a/src/obstacle.c b/src/obstacle.c index 80d5111..a7fa73a 100644 --- a/src/obstacle.c +++ b/src/obstacle.c @@ -13,9 +13,8 @@ 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++) { diff --git a/src/snake b/src/snake new file mode 100755 index 0000000..f561052 Binary files /dev/null and b/src/snake differ