#include #include #include #include #include "jeu.h" #include "jeu_humain.h" #include "jeu_ia.h" /* fonction qui gère tout le menu du jeu avec les boutons et tout */ void menuPrincipale() { int tailleGrille = 3; int continuer = 1; char tailleStr[4]; int besoinRedessiner = 1; struct EtatJeu etatJeu; InitialiserGraphique(); CreerFenetre(100, 100, 800, 600); ChoisirTitreFenetre("Blocus"); while (continuer) { if (besoinRedessiner) { EffacerEcran(CouleurParNom("white")); ChoisirCouleurDessin(CouleurParNom("black")); EcrireTexte(290, 50, "Jeu du Blocus", 2); EcrireTexte(250, 130, "Taille de la grille:", 1); sprintf(tailleStr, "%d", tailleGrille); EcrireTexte(450, 130, tailleStr, 1); RemplirRectangle(500, 110, 30, 30); RemplirRectangle(540, 110, 30, 30); ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(510, 125, "+", 1); EcrireTexte(550, 125, "-", 1); ChoisirCouleurDessin(CouleurParNom("black")); RemplirRectangle(250, 190, 300, 50); RemplirRectangle(250, 260, 300, 50); ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(280, 215, "1 Joueur (contre IA)", 1); EcrireTexte(280, 285, "2 Joueurs", 1); ChoisirCouleurDessin(CouleurParNom("black")); RemplirRectangle(250, 330, 300, 50); ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(280, 355, "Quitter", 1); besoinRedessiner = 0; } if (SourisCliquee()) { int mouseX = _X; int mouseY = _Y; 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 <= 600) { 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); if (mode == 1) { jouerModeIA(&etatJeu); } else { jouerModeHumain(&etatJeu); } besoinRedessiner = 1; } else if (mouseY >= 320 && mouseY <= 370) { continuer = 0; } } } attendre(10); } FermerGraphique(); } int main(void) { srand((unsigned int)time(NULL)); menuPrincipale(); return EXIT_FAILURE; }