#include #include #include #include #include "jeu.h" #include "jeu_humain.h" #include "jeu_ia.h" void menuPrincipale() { int tailleGrille = 3; int continuer = 1; char tailleStr[4]; int besoinRedessiner = 1; InitialiserGraphique(); /* Initialise la fenêtre graphique */ CreerFenetre(100, 100, 800, 600); /* Crée la fenêtre graphique */ ChoisirTitreFenetre("Blocus"); /* Change le titre de la fenêtre */ while (continuer) { if (besoinRedessiner) { /* Si besoin de redessiner */ EffacerEcran(CouleurParNom("white")); /* Efface l'écran */ ChoisirCouleurDessin(CouleurParNom("black")); /* EcrireTexte(300, 50, "BLOCUS", 2); /* Affiche le titre du jeu */ EcrireTexte(250, 120, "Taille de la grille:", 1); sprintf(tailleStr, "%d", tailleGrille); EcrireTexte(450, 120, tailleStr, 1); /* Affiche la taille de la grille */ RemplirRectangle(500, 110, 30, 30); /* Remplit la case + */ RemplirRectangle(540, 110, 30, 30); /* Remplit la case - */ ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(510, 120, "+", 1); /* Affiche le + */ EcrireTexte(550, 120, "-", 1); /* Affiche le - */ ChoisirCouleurDessin(CouleurParNom("black")); RemplirRectangle(250, 180, 300, 50); /* Remplit la case 1 Joueur (contre IA) */ RemplirRectangle(250, 250, 300, 50); /* Remplit la case 2 Joueurs */ ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(280, 195, "1 Joueur (contre IA)", 1); /* Affiche 1 Joueur (contre IA) */ EcrireTexte(280, 265, "2 Joueurs", 1); /* Affiche 2 Joueurs */ ChoisirCouleurDessin(CouleurParNom("black")); RemplirRectangle(250, 320, 300, 50); /* Remplit la case Quitter */ ChoisirCouleurDessin(CouleurParNom("white")); EcrireTexte(320, 335, "Quitter", 1); /* Affiche Quitter */ besoinRedessiner = 0; } if (SourisCliquee()) { /* Si la souris est cliquée */ int mouseX = _X; int mouseY = _Y; if (mouseX >= 500 && mouseX <= 530 && mouseY >= 110 && mouseY <= 140) { /* Si la souris est sur la case + */ if (tailleGrille < 9) { tailleGrille++; besoinRedessiner = 1; } } else if (mouseX >= 540 && mouseX <= 570 && mouseY >= 110 && mouseY <= 140) { /* Si la souris est sur la case - */ if (tailleGrille > 3) { tailleGrille--; besoinRedessiner = 1; } } else if (mouseX >= 250 && mouseX <= 600) { /* Si la souris est sur la case 1 Joueur (contre IA) */ struct EtatJeu etatJeu; if (mouseY >= 180 && mouseY <= 230) { etatJeu = initialiserJeu(tailleGrille, 1); EffacerEcran(CouleurParNom("white")); dessinerGrille(etatJeu); jouerModeIA(&etatJeu); besoinRedessiner = 1; } else if (mouseY >= 250 && mouseY <= 300) { /* Si la souris est sur la case 2 Joueurs */ etatJeu = initialiserJeu(tailleGrille, 2); EffacerEcran(CouleurParNom("white")); dessinerGrille(etatJeu); jouerModeHumain(&etatJeu); besoinRedessiner = 1; } else if (mouseY >= 320 && mouseY <= 370) { /* Si la souris est sur la case Quitter */ continuer = 0; } } } usleep(20000); } FermerGraphique(); } int main() { srand(time(NULL)); menuPrincipale(); return 0; }