From 4c6d8c8063a6682a5fc2e498b8c59bc01e0daf99 Mon Sep 17 00:00:00 2001 From: torreblam Date: Mon, 18 Nov 2024 13:31:45 +0100 Subject: [PATCH] Menu principal --- main.c | 43 ++++++++++++++++++------------------------- 1 file changed, 18 insertions(+), 25 deletions(-) mode change 100755 => 100644 main.c diff --git a/main.c b/main.c old mode 100755 new mode 100644 index fdd9555..fa66fbc --- a/main.c +++ b/main.c @@ -3,6 +3,8 @@ #include #include #include "jeu.h" +#include "jeu_humain.h" +#include "jeu_ia.h" void menuPrincipale() { int tailleGrille = 3; @@ -15,36 +17,38 @@ void menuPrincipale() { ChoisirTitreFenetre("Blocus"); while (continuer) { - if (besoinRedessiner) { + 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; + 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) { @@ -58,30 +62,18 @@ void menuPrincipale() { } } 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); + if (mouseY >= 180 && mouseY <= 230) { + etatJeu = initialiserJeu(tailleGrille, 1); 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); - } + jouerModeIA(&etatJeu); + besoinRedessiner = 1; + } else if (mouseY >= 250 && mouseY <= 300) { + etatJeu = initialiserJeu(tailleGrille, 2); + EffacerEcran(CouleurParNom("white")); + dessinerGrille(etatJeu); + jouerModeHumain(&etatJeu); + besoinRedessiner = 1; } else if (mouseY >= 320 && mouseY <= 370) { continuer = 0; } @@ -94,6 +86,7 @@ void menuPrincipale() { } int main() { + srand(time(NULL)); menuPrincipale(); return 0; }