#include #include #include #include #include "jeu.h" void menuPrincipale() { int tailleGrille = 3; int continuer = 1; char tailleStr[4]; int besoinRedessiner = 1; InitialiserGraphique(); CreerFenetre(100, 100, 800, 600); ChoisirTitreFenetre("Blocus"); while (continuer) { if (besoinRedessiner) { EffacerEcran(CouleurParNom("white")); ChoisirCouleurDessin(CouleurParNom("black")); EcrireTexte(300, 50, "BLOCUS", 2); EcrireTexte(250, 120, "Taille de la grille:", 1); sprintf(tailleStr, "%d", tailleGrille); EcrireTexte(450, 120, tailleStr, 1); RemplirRectangle(500, 110, 30, 30); RemplirRectangle(540, 110, 30, 30); ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(510, 120, "+", 1); EcrireTexte(550, 120, "-", 1); ChoisirCouleurDessin(CouleurParNom("black")); RemplirRectangle(250, 180, 300, 50); RemplirRectangle(250, 250, 300, 50); ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(280, 195, "1 Joueur (contre IA)", 1); EcrireTexte(280, 265, "2 Joueurs (Humain vs Humain)", 1); ChoisirCouleurDessin(CouleurParNom("black")); RemplirRectangle(250, 320, 300, 50); ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(320, 335, "Quitter", 1); besoinRedessiner = 0; } if (SourisCliquee()) { int mouseX = _X; int mouseY = _Y; printf("Clic détecté dans le menu à : (%d, %d)\n", mouseX, mouseY); if (mouseX >= 500 && mouseX <= 530 && mouseY >= 110 && mouseY <= 140) { if (tailleGrille < 9) { tailleGrille++; besoinRedessiner = 1; } } else if (mouseX >= 540 && mouseX <= 570 && mouseY >= 110 && mouseY <= 140) { if (tailleGrille > 3) { tailleGrille--; besoinRedessiner = 1; } } else if (mouseX >= 250 && mouseX <= 550) { struct EtatJeu etatJeu; if (mouseY >= 180 && mouseY <= 230 || mouseY >= 250 && mouseY <= 300) { int mode = (mouseY >= 180 && mouseY <= 230) ? 1 : 2; etatJeu = initialiserJeu(tailleGrille, mode); EffacerEcran(CouleurParNom("white")); dessinerGrille(etatJeu); while (1) { if (SourisCliquee()) { printf("Clic détecté sur la grille à : (%d, %d)\n", _X, _Y); gererClicSouris(&etatJeu); int gagnant = verifierVictoire(etatJeu); if (gagnant != 0) { afficherVictoire(gagnant); printf("En attente d'un clic pour retourner au menu...\n"); while (!SourisCliquee()) { usleep(100000); } besoinRedessiner = 1; break; } } usleep(20000); } } else if (mouseY >= 320 && mouseY <= 370) { continuer = 0; } } } usleep(20000); } FermerGraphique(); } int main() { menuPrincipale(); return 0; }