diff --git a/src/jeu.c b/src/jeu.c index 78d7f68..abc4935 100755 --- a/src/jeu.c +++ b/src/jeu.c @@ -124,26 +124,58 @@ void dessinerGrille(struct EtatJeu etatJeu) { /* Fonction qui affiche le gagnant de la partie */ void afficherVictoire(int gagnant) { + int continuer = 1; char message[100]; - + int mouseX, mouseY; + int xStartNouveau = 200, yStartNouveau = 400, largeur = 200, hauteur = 50; + int xStartQuitter = 400, yStartQuitter = 400; + EffacerEcran(CouleurParNom("white")); ChoisirCouleurDessin(CouleurParNom("black")); - sprintf(message, "Le joueur %d remporte la partie !", gagnant); /* Affiche le gagnant après avoir clear la window de la partie */ + sprintf(message, "Le joueur %d remporte la partie !", gagnant); EcrireTexte(250, 300, message, 2); - EcrireTexte(200, 400, "Cliquez pour retourner au menu", 1); + EcrireTexte(100,500, "Cliquez sur 'New Party' pour recommencer ou 'Quitter' pour quitter.", 1); + + ChoisirCouleurDessin(CouleurParNom("blue")); + RemplirRectangle(xStartNouveau, yStartNouveau, largeur, hauteur); + ChoisirCouleurDessin(CouleurParNom("white")); + EcrireTexte(xStartNouveau + 5, yStartNouveau + 30, "New Party", 2); + + ChoisirCouleurDessin(CouleurParNom("red")); + RemplirRectangle(xStartQuitter, yStartQuitter, largeur, hauteur); + ChoisirCouleurDessin(CouleurParNom("white")); + EcrireTexte(xStartQuitter + 90, yStartQuitter + 30, "Quitter", 2); + + while (continuer) { + if (SourisCliquee()) { + mouseX = _X; + mouseY = _Y; + + if (mouseX >= xStartNouveau && mouseX <= xStartNouveau + largeur && mouseY >= yStartNouveau && mouseY <= yStartNouveau + hauteur) { + continuer = 0; + return; + } + + if (mouseX >= xStartQuitter && mouseX <= xStartQuitter + largeur && mouseY >= yStartQuitter && mouseY <= yStartQuitter + hauteur) { + continuer = 0; + exit(EXIT_SUCCESS); + } + } + } } /* Fonction qui vérifie si le joueur a gagné la partie */ int verifierVictoire(struct EtatJeu etatJeu) { if (etatJeu.phase == 0) { - return 0; + return EXIT_FAILURE; } + if (!peutDeplacer(etatJeu, etatJeu.tourJoueur)) { return etatJeu.tourJoueur == 1 ? 2 : 1; - } - - return 0; + return 2; + } + return EXIT_FAILURE; } \ No newline at end of file