This commit is contained in:
stiti 2023-12-11 17:43:38 +01:00
parent d8d7f48c42
commit 702188c93b
5 changed files with 19 additions and 43 deletions

View File

@ -24,9 +24,9 @@ void afficherScore(int score) {
void lancer_jeu1(void) { void lancer_jeu1(void) {
int fin = 1;
Segment serpent[100]; Segment serpent[100];
int longueur = 10; int longueur = 10;
unsigned long int vitesse = 100000;
int direction_x = 1; int direction_x = 1;
int direction_y = 0; int direction_y = 0;
int score = 0; int score = 0;
@ -42,7 +42,7 @@ void lancer_jeu1(void) {
pomme = creerPomme(); pomme = creerPomme();
dessinerPomme(pomme); dessinerPomme(pomme);
while (1) { while (fin == 1) {
update_timer(&min, &sec); update_timer(&min, &sec);
gestionDeplacements(serpent, &direction_x, &direction_y); gestionDeplacements(serpent, &direction_x, &direction_y);
mettreAJourSerpent(serpent, &longueur, &direction_x, &direction_y); mettreAJourSerpent(serpent, &longueur, &direction_x, &direction_y);
@ -61,14 +61,15 @@ void lancer_jeu1(void) {
afficher_minute(min); afficher_minute(min);
afficherScore(score); afficherScore(score);
/* Attend le choix du joueur après le game over */ /* Attend le choix du joueur après le game over */
choixGameOver = attendreChoixGameOver(); attendreChoixGameOver();
return;
} }
dessinerSerpent(serpent, &longueur); dessinerSerpent(serpent, &longueur);
afficherScore(score); afficherScore(score);
update_timer(&min, &sec); update_timer(&min, &sec);
attendreSerpent(vitesse); attendreSerpent(150000);
} }
} }
@ -79,7 +80,7 @@ void lancer_jeu2(void) {
int longueur = 10; int longueur = 10;
int direction_x = 1; int direction_x = 1;
int direction_y = 0; int direction_y = 0;
unsigned long int vitesse = 100000; /*vitesse de base*/ unsigned long int vitesse = 200000; /*vitesse de base*/
int score = 0; int score = 0;
char scoreStr[20]; char scoreStr[20];
Pomme pommes[5]; Pomme pommes[5];
@ -116,7 +117,8 @@ void lancer_jeu2(void) {
afficherScore(score); afficherScore(score);
/* Attend le choix du joueur après le game over */ /* Attend le choix du joueur après le game over */
choixGameOver = attendreChoixGameOver(); attendreChoixGameOver();
return;
} }
dessinerSerpent(serpent, &longueur); dessinerSerpent(serpent, &longueur);
@ -134,7 +136,7 @@ void lancer_jeu4(void) {
int direction_x = 1; int direction_x = 1;
int direction_y = 0; int direction_y = 0;
int score = 0; int score = 0;
unsigned long int vitesse = 100000; /*vitesse de base*/ unsigned long int vitesse = 300000; /*vitesse de base*/
char scoreStr[20]; char scoreStr[20];
Pomme pomme; Pomme pomme;
Segment serpent[100]; Segment serpent[100];
@ -170,7 +172,8 @@ void lancer_jeu4(void) {
afficher_seconde(sec); afficher_seconde(sec);
/* Attend le choix du joueur après le game over */ /* Attend le choix du joueur après le game over */
choixGameOver = attendreChoixGameOver(); attendreChoixGameOver();
return;
} }
dessinerSerpent(serpent, &longueur); dessinerSerpent(serpent, &longueur);
@ -225,35 +228,10 @@ void lancer_jeu3(void) {
afficher_minute(min); afficher_minute(min);
afficherScore(score); afficherScore(score);
/* Attend le choix du joueur après le game over */ /* 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*/ /*Dessiner le serpent et les obstacles*/
dessinerSerpent(serpent, &longueur); dessinerSerpent(serpent, &longueur);

View File

@ -8,7 +8,7 @@
int menus(void) { void menus(void) {
int choixMenuPrincipal = 0; int choixMenuPrincipal = 0;
int choixModesDeJeu = 0; int choixModesDeJeu = 0;
while (1) { while (1) {
@ -36,9 +36,9 @@ int menus(void) {
} }
} else if (choixMenuPrincipal == 2) { } else if (choixMenuPrincipal == 2) {
FermerGraphique(); FermerGraphique();
return EXIT_SUCCESS;
} }
} }
return;
} }

View File

@ -38,7 +38,7 @@ void afficherMenuGameOver(void) {
} }
int attendreChoixGameOver() { void attendreChoixGameOver(void) {
int x, y; int x, y;
while (1) { while (1) {
@ -49,8 +49,7 @@ int attendreChoixGameOver() {
/* Vérifie si le bouton "Menu Principal" est cliqué */ /* Vérifie si le bouton "Menu Principal" est cliqué */
if (x >= 379 && x <= 830.7 && y >= 530.3 && y <= 670.1) { if (x >= 379 && x <= 830.7 && y >= 530.3 && y <= 670.1) {
EffacerEcran(CouleurParNom("white")); return;
menus(); /* Renvoie vers le menu principal" */
} }
} }

View File

@ -15,7 +15,6 @@ void dessinerObstacle(Obstacle obstacle) {
AfficherSprite(id_bombe,obstacle.x * TAILLE_CASE, obstacle.y * TAILLE_CASE); AfficherSprite(id_bombe,obstacle.x * TAILLE_CASE, obstacle.y * TAILLE_CASE);
} }
int estCollisionObstacle(Obstacle obstacle, Segment serpent[], int longueur) { int estCollisionObstacle(Obstacle obstacle, Segment serpent[], int longueur) {
int i; int i;
for (i = 0; i < longueur; i++) { for (i = 0; i < longueur; i++) {

BIN
src/snake Executable file

Binary file not shown.