From d7dad1116c891437e2b872c0ab7cb57a34e09286 Mon Sep 17 00:00:00 2001 From: Haffa Bakhouche Date: Thu, 14 Nov 2024 12:12:14 +0100 Subject: [PATCH] Ajout du header jeu.h et de plusieurs fonctions importantes --- README.md | 0 blocus | Bin 0 -> 16584 bytes jeu.c | 161 ++++++++++++------------------------------------------ jeu.h | 28 ++++++++++ main.c | 103 +++++++++++++++++----------------- makefile | 0 6 files changed, 114 insertions(+), 178 deletions(-) mode change 100644 => 100755 README.md create mode 100755 blocus mode change 100644 => 100755 jeu.c create mode 100644 jeu.h mode change 100644 => 100755 main.c mode change 100644 => 100755 makefile diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/blocus b/blocus new file mode 100755 index 0000000000000000000000000000000000000000..eae3b13c3c2413057cb211520240c78748fafaac GIT binary patch literal 16584 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 NXu&ClrU8x1001poKqvqJ literal 0 HcmV?d00001 diff --git a/jeu.c b/jeu.c old mode 100644 new mode 100755 index 4b26db7..cfec5ee --- a/jeu.c +++ b/jeu.c @@ -1,25 +1,40 @@ #include #include -#include #include "jeu.h" +#include /* Assurez-vous d'inclure la bibliothèque graphique */ -#define TAILLE_FENETRE 800 -#define MARGE 100 -#define TAILLE_MAX_GRILLE 400 +/* Fonction pour dessiner la grille */ +void dessinerGrille(struct EtatJeu etatJeu) { + int i, j; + int tailleCase = 50; /* Taille de chaque case de la grille */ + int x, y; + for (i = 0; i < etatJeu.tailleGrille; i++) { + for (j = 0; j < etatJeu.tailleGrille; j++) { + x = j * tailleCase; /* Calculer la position x */ + y = i * tailleCase; /* Calculer la position y */ + ChoisirCouleurDessin(CouleurParNom("black")); /* Couleur de la grille */ + DessinerRectangle(x, y, tailleCase, tailleCase); /* Dessiner le rectangle pour la case */ + /* Vous pouvez ajouter ici du code pour dessiner des éléments spécifiques dans chaque case */ + } + } +} + +/* Fonction pour initialiser l'état du jeu */ struct EtatJeu initialiserJeu(int tailleGrille, int mode) { struct EtatJeu etatJeu; int i, j; etatJeu.tailleGrille = tailleGrille; etatJeu.mode = mode; - etatJeu.tourJoueur = 1; - etatJeu.phase = 0; - etatJeu.positionSourisJoueur1x = -1; + etatJeu.tourJoueur = 1; /* Initialiser le joueur courant */ + etatJeu.phase = 0; /* Initialiser la phase */ + etatJeu.positionSourisJoueur1x = -1; /* Initialiser les positions de la souris */ etatJeu.positionSourisJoueur1y = -1; etatJeu.positionSourisJoueur2x = -1; etatJeu.positionSourisJoueur2y = -1; + /* Allouer de la mémoire pour la grille */ etatJeu.grille = (int**)malloc(tailleGrille * sizeof(int*)); if (etatJeu.grille == NULL) { fprintf(stderr, "Erreur d'allocation mémoire\n"); @@ -37,130 +52,22 @@ struct EtatJeu initialiserJeu(int tailleGrille, int mode) { exit(1); } for (j = 0; j < tailleGrille; j++) { - etatJeu.grille[i][j] = 0; + etatJeu.grille[i][j] = 0; /* Initialiser les cellules de la grille à 0 */ } } return etatJeu; } -int obtenirCaseGrille(int pos, int taille_case, int offset) { - int caseGrille = (pos - offset) / taille_case; - if (caseGrille >= 0 && caseGrille < taille_case) { - return caseGrille; - } - return -1; +/* Fonction pour jouer avec l'IA */ +void jouerAvecIA(struct EtatJeu etatJeu) { + /* Logique de jeu avec l'IA ici */ + /* Par exemple, afficher la grille et gérer les tours */ + printf("Début du jeu avec l'IA...\n"); + + /* Dessiner la grille */ + dessinerGrille(etatJeu); + + /* Ajoutez ici la logique pour gérer les tours de jeu, etc. */ } - -void dessinerGrille(struct EtatJeu etatJeu) { - int taille_case = TAILLE_MAX_GRILLE / etatJeu.tailleGrille; - int offset_x = (TAILLE_FENETRE - TAILLE_MAX_GRILLE) / 2; - int offset_y = MARGE; - int i, j, x, y; - int marge = 5; - char message[50]; - - ChoisirCouleurDessin(CouleurParNom("white")); - RemplirRectangle(offset_x, offset_y, TAILLE_MAX_GRILLE, TAILLE_MAX_GRILLE); - - ChoisirCouleurDessin(CouleurParNom("black")); - for (i = 0; i <= etatJeu.tailleGrille; i++) { - DessinerSegment(offset_x, offset_y + i*taille_case, - offset_x + TAILLE_MAX_GRILLE, offset_y + i*taille_case); - DessinerSegment(offset_x + i*taille_case, offset_y, - offset_x + i*taille_case, offset_y + TAILLE_MAX_GRILLE); - } - - for (i = 0; i < etatJeu.tailleGrille; i++) { - for (j = 0; j < etatJeu.tailleGrille; j++) { - x = offset_x + j*taille_case; - y = offset_y + i*taille_case; - - switch(etatJeu.grille[i][j]) { - case 1: /* Joueur 1 */ - ChoisirCouleurDessin(CouleurParNom("blue")); - RemplirArc(x + marge, y + marge, taille_case - 2*marge, taille_case - 2*marge, 0, 360); - break; - case 2: /* Joueur 2 */ - ChoisirCouleurDessin(CouleurParNom("red")); - RemplirArc(x + marge, y + marge, taille_case - 2*marge, taille_case - 2*marge, 0, 360); - break; - case -1: /* Case bloquée */ - ChoisirCouleurDessin(CouleurParNom("grey")); - RemplirRectangle(x + marge, y + marge, taille_case - 2*marge, taille_case - 2*marge); - break; - } - } - } - - /* Afficher les informations du tour */ - ChoisirCouleurDessin(CouleurParNom("black")); - if (etatJeu.phase == 0) { - sprintf(message, "Joueur %d : Placez votre pion", etatJeu.tourJoueur); - } else { - sprintf(message, "Tour du joueur %d", etatJeu.tourJoueur); - } - EcrireTexte(MARGE, 50, message, 2); -} - -int estDeplacementValide(struct EtatJeu etatJeu, int x, int y, int joueur) { - int posX = (joueur == 1) ? etatJeu.positionSourisJoueur1x : etatJeu.positionSourisJoueur2x; - int posY = (joueur == 1) ? etatJeu.positionSourisJoueur1y : etatJeu.positionSourisJoueur2y; - - if (etatJeu.grille[y][x] != 0) { - return 0; - } - if (etatJeu.phase == 0) { - return 1; - } - int dx = abs(x - posX); - int dy = abs(y - posY); - return (dx <= 1 && dy <= 1 && !(dx == 0 && dy == 0)); -} - -void jouerPartie(int tailleGrille, int mode) { - struct EtatJeu etatJeu = initialiserJeu(tailleGrille, mode); - int continuer = 1; - int tailleCase = TAILLE_MAX_GRILLE / tailleGrille; - int offsetX = (TAILLE_FENETRE - TAILLE_MAX_GRILLE) / 2; - int offsetY = MARGE; - int x, y; - - while (continuer) { - dessinerGrille(etatJeu); - - if (SourisCliquee()) { - x = obtenirCaseGrille(_X, tailleCase, offsetX); - y = obtenirCaseGrille(_Y, tailleCase, offsetY); - - if (x >= 0 && x < tailleGrille && y >= 0 && y < tailleGrille) { - if (estDeplacementValide(etatJeu, x, y, etatJeu.tourJoueur)) { - if (etatJeu.phase == 0) { - etatJeu.grille[y][x] = etatJeu.tourJoueur; - if (etatJeu.tourJoueur == 1) { - etatJeu.positionSourisJoueur1x = x; - etatJeu.positionSourisJoueur1y = y; - } else { - etatJeu.positionSourisJoueur2x = x; - etatJeu.positionSourisJoueur2y = y; - } - etatJeu.phase = 1; - etatJeu.tourJoueur = (etatJeu.tourJoueur == 1) ? 2 : 1; - } else { - /*Logique pour le déplacement et le blocage des cases - à plémenter*/ - } - } - } - } - - /*Ajouter une condition pour terminer la partie*/ - - } - - /*Libérer la mémoire allouée pour la grille*/ - for (int i = 0; i < tailleGrille; i++) { - free(etatJeu.grille[i]); - } - free(etatJeu.grille); -} \ No newline at end of file +/* Ajouter d'autres fonctions de logique de jeu si nécessaire */ \ No newline at end of file diff --git a/jeu.h b/jeu.h new file mode 100644 index 0000000..8c90cf5 --- /dev/null +++ b/jeu.h @@ -0,0 +1,28 @@ +/* jeu.h */ + +#ifndef JEU_H +#define JEU_H + +/* Définir la structure pour l'état du jeu */ +struct EtatJeu { + int tailleGrille; /* Taille de la grille */ + int mode; /* Mode de jeu (1 joueur ou 2 joueurs) */ + int tourJoueur; + int phase; + int positionSourisJoueur1x; + int positionSourisJoueur1y; + int positionSourisJoueur2x; + int positionSourisJoueur2y; + int** grille; + /* Ajouter d'autres variables d'état du jeu si nécessaire */ +}; + +/* Fonction pour initialiser l'état du jeu */ +struct EtatJeu initialiserJeu(int tailleGrille, int mode); + +/* Fonction pour jouer avec l'IA */ +void jouerAvecIA(struct EtatJeu etatJeu); + +/* Ajouter d'autres prototypes de fonction liés à la logique du jeu */ + +#endif /* JEU_H */ \ No newline at end of file diff --git a/main.c b/main.c old mode 100644 new mode 100755 index 3f16866..05a120e --- a/main.c +++ b/main.c @@ -1,73 +1,74 @@ #include #include #include +#include +#include "jeu.h" /* Inclure l'en-tête pour la logique du jeu */ void menuPrincipale() { - int tailleGrille = 3, mode = 0; - int continuer = 1; + int tailleGrille = 3; /* Taille de la grille */ + int continuer = 1; /* Variable pour continuer le menu */ - InitialiserGraphique(); - CreerFenetre(100, 100, 800, 600); - ChoisirTitreFenetre("Blocus"); + char tailleStr[4]; /* Augmenter la taille pour contenir des nombres plus grands */ + + InitialiserGraphique(); /* Initialiser la graphique */ + CreerFenetre(100, 100, 800, 600); /* Créer la fenêtre */ + ChoisirTitreFenetre("Blocus"); /* Choisir le titre de la fenêtre */ - while (continuer) { - EffacerEcran(CouleurParNom("white")); + while (continuer) { /* Boucle principale du menu */ + EffacerEcran(CouleurParNom("white")); /* Effacer l'écran */ - ChoisirCouleurDessin(CouleurParNom("black")); - EcrireTexte(300, 50, "BLOCUS", 2); + ChoisirCouleurDessin(CouleurParNom("black")); /* Choisir la couleur noire pour le dessin */ + EcrireTexte(300, 50, "BLOCUS", 2); /* Écrire le titre du jeu */ - EcrireTexte(250, 120, "Taille de la grille:", 1); - char tailleStr[2]; - sprintf(tailleStr, "%d", tailleGrille); - EcrireTexte(450, 120, tailleStr, 1); + EcrireTexte(250, 120, "Taille de la grille:", 1); /* Écrire le texte pour la taille de la grille */ + sprintf(tailleStr, "%d", tailleGrille); /* Convertir la taille de la grille en chaîne */ + EcrireTexte(450, 120, tailleStr, 1); /* Afficher la taille de la grille */ - - RemplirRectangle(500, 110, 30, 30); - RemplirRectangle(540, 110, 30, 30); - ChoisirCouleurDessin(CouleurParNom("white")); - EcrireTexte(510, 120, "+", 1); - EcrireTexte(550, 120, "-", 1); + RemplirRectangle(500, 110, 30, 30); /* Dessiner le rectangle pour augmenter la taille */ + RemplirRectangle(540, 110, 30, 30); /* Dessiner le rectangle pour diminuer la taille */ + ChoisirCouleurDessin(CouleurParNom("white")); /* Choisir la couleur blanche pour le texte */ + EcrireTexte(510, 120, "+", 1); /* Écrire le symbole pour augmenter */ + EcrireTexte(550, 120, "-", 1); /* Écrire le symbole pour diminuer */ - - ChoisirCouleurDessin(CouleurParNom("black")); - RemplirRectangle(250, 180, 300, 50); - RemplirRectangle(250, 250, 300, 50); - ChoisirCouleurDessin(CouleurParNom("white")); - EcrireTexte(280, 195, "1 Joueur", 1); - EcrireTexte(280, 265, "2 Joueurs", 1); + ChoisirCouleurDessin(CouleurParNom("black")); /* Choisir la couleur noire pour le dessin */ + RemplirRectangle(250, 180, 300, 50); /* Dessiner le rectangle pour le mode 1 joueur */ + RemplirRectangle(250, 250, 300, 50); /* Dessiner le rectangle pour le mode 2 joueurs */ + ChoisirCouleurDessin(CouleurParNom("white")); /* Choisir la couleur blanche pour le texte */ + EcrireTexte(280, 195, "1 Joueur (contre IA)", 1); /* Écrire le texte pour le mode 1 joueur */ + EcrireTexte(280, 265, "2 Joueurs (Humain vs Humain)", 1); /* Écrire le texte pour le mode 2 joueurs */ - - ChoisirCouleurDessin(CouleurParNom("black")); - RemplirRectangle(250, 320, 300, 50); - ChoisirCouleurDessin(CouleurParNom("white")); - EcrireTexte(320, 335, "Quitter", 1); + ChoisirCouleurDessin(CouleurParNom("black")); /* Choisir la couleur noire pour le dessin */ + RemplirRectangle(250, 320, 300, 50); /* Dessiner le rectangle pour quitter */ + ChoisirCouleurDessin(CouleurParNom("white")); /* Choisir la couleur blanche pour le texte */ + EcrireTexte(320, 335, "Quitter", 1); /* Écrire le texte pour quitter */ - - if (SourisCliquee()) { - - if (_Y >= 110 && _Y <= 140) { - if (_X >= 500 && _X <= 530 && tailleGrille < 9) { + if (SourisCliquee()) { /* Vérifier si la souris est cliquée */ + if (_Y >= 110 && _Y <= 140) { /* Vérifier si le clic est dans la zone de taille de grille */ + if (_X >= 500 && _X <= 530 && tailleGrille < 9) { /* Augmenter la taille de la grille */ tailleGrille++; - } else if (_X >= 540 && _X <= 570 && tailleGrille > 3) { + } else if (_X >= 540 && _X <= 570 && tailleGrille > 3) { /* Diminuer la taille de la grille */ tailleGrille--; } - } - - else if (_X >= 250 && _X <= 550) { - if (_Y >= 180 && _Y <= 230) { - mode = 1; - continuer = 0; - } else if (_Y >= 250 && _Y <= 300) { - mode = 2; - continuer = 0; - } else if (_Y >= 320 && _Y <= 370) { - mode = 0; - continuer = 0; + } else if (_X >= 250 && _X <= 550) { /* Vérifier si le clic est dans la zone de mode de jeu */ + if (_Y >= 180 && _Y <= 230) { /* Mode 1 joueur */ + struct EtatJeu etatJeu = initialiserJeu(tailleGrille, 1); /* Initialiser l'état du jeu */ + jouerAvecIA(etatJeu); /* Appeler la fonction pour démarrer le jeu avec l'IA */ + continuer = 0; /* Sortir du menu */ + } else if (_Y >= 250 && _Y <= 300) { /* Mode 2 joueurs */ + continuer = 0; /* Sortir du menu */ + } else if (_Y >= 320 && _Y <= 370) { /* Quitter */ + continuer = 0; /* Sortir du menu */ } } } + + sleep(1); /* Attendre un court instant (remplacer usleep par sleep) */ } - FermerGraphique(); - + FermerGraphique(); /* Fermer la graphique */ +} + +int main() { + menuPrincipale(); /* Appeler la fonction du menu principal */ + return 0; /* Retourner 0 pour indiquer que le programme s'est terminé avec succès */ } diff --git a/makefile b/makefile old mode 100644 new mode 100755