diff --git a/Makefile b/Makefile index d3b7cb4..30a100f 100644 --- a/Makefile +++ b/Makefile @@ -1,16 +1,15 @@ # CHAPITRE 1 : BUT FINAL -but : jeu +but : game # CHAPITRE 2 : VARIABLES OFILES = main.o \ - menu.o \ - board.o \ - player.o \ - graphics.o \ - ia.o \ - game_logic.o + interface.o \ + game.o \ + ai.o \ + graphics.o \ + events.o CC = gcc @@ -18,40 +17,32 @@ CFLAGS = -Wall -ansi -pedantic -g -lgraph # CHAPITRE 3 : DEPENDANCES (REGLES IMPLICITES) +main.o : interface.h game.h graphics.h ai.h events.h +interface.o : interface.h graphics.h game.h -main.o: main.c menu.h game_logic.h graphics.h board.h player.h +game.o : game.h interface.h graphics.h -menu.o: menu.c menu.h graphics.h +ai.o : ai.h game.h interface.h -board.o: board.c board.h player.h game_logic.h +graphics.o : graphics.h game.h -player.o: player.c player.h board.h +events.o : events.h game.h interface.h -graphics.o: graphics.c graphics.h +# CHAPITRE 4 : DEPENDANCES AVEC COMMANDES -ia.o: ia.c ia.h game_logic.h board.h +game : $(OFILES) + $(CC) $(CFLAGS) -o game $(OFILES) -game_logic.o: game_logic.c game_logic.h board.h player.h +# CHAPITRE 5 : NETTOYAGE DES FICHIERS GENERES +clean : + -rm -f $(OFILES) game +# CHAPITRE 6 : BUTS FACTICES - -#CHAPITRE 4 : DEPENDANCES AVEC COMMANDES - - -jeu : $(OFILES) - $(CC) $(CFLAGS) -o jeu $(OFILES) - -#CHAPITRE 5 : NETTOYAGE DES FICHIERS GENERES - -clear : - -rm -f $(OFILES) jeu - -#CHAPITRE 6 : BUTS FACTICES - -.PHONY : jeu clear - +.PHONY : but clean run : - ./jeu + ./game + diff --git a/ai.c b/ai.c index 4dde54a..e69de29 100644 --- a/ai.c +++ b/ai.c @@ -1,10 +0,0 @@ -#include -#include -#include "ai.h" -#include "game_logic.h" - -void tour_IA() { - /* Logique de l'IA pour choisir un mouvement*/ - printf("IA joue son tour...\n"); -} - diff --git a/ai.h b/ai.h deleted file mode 100644 index 2327831..0000000 --- a/ai.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef AI_H -#define AI_H - -void tour_IA(); -/* Effectue le tour de l'IA en respectant les règles du jeu.*/ - -#endif diff --git a/board.c b/board.c deleted file mode 100644 index d343e66..0000000 --- a/board.c +++ /dev/null @@ -1,33 +0,0 @@ -#include -#include -#include "board.h" -#include "graphics.h" - -static int grille[9][9]; /* Grille de 9x9 au maximum*/ - -void initialiser_grille(int taille) { - int i, j; /* Déclaration des variables*/ - - /* Initialise la grille à la taille donnée et la vide*/ - for (i = 0; i < taille; i++) { - for (j = 0; j < taille; j++) { - grille[i][j] = 0; - } - } -} - -void afficher_grille() { - /* Affichage de la grille*/ - printf("Affichage de la grille...\n"); -} - -int est_case_libre(int x, int y) { - /* Vérifie si une case est libre*/ - return grille[x][y] == 0; -} - -void condamner_case(int x, int y) { - /* Condamne une case*/ - grille[x][y] = -1; -} - diff --git a/board.h b/constantes.h similarity index 100% rename from board.h rename to constantes.h diff --git a/graphics.h b/events.c similarity index 100% rename from graphics.h rename to events.c diff --git a/player.h b/game.c similarity index 100% rename from player.h rename to game.c diff --git a/game.h b/game.h new file mode 100644 index 0000000..e69de29 diff --git a/game_logic.c b/game_logic.c deleted file mode 100644 index af8db53..0000000 --- a/game_logic.c +++ /dev/null @@ -1,32 +0,0 @@ -#include -#include -#include "game_logic.h" -#include "board.h" -#include "player.h" - -static int joueur_courant = 1; - -void initialiser_jeu(int taille_grille) { - /* Initialisation du jeu*/ - initialiser_grille(taille_grille); - initialiser_joueurs(); - printf("Jeu initialisé avec une grille de taille %d.\n", taille_grille); -} - -void tour_joueur() { - /* Gère le tour du joueur courant*/ - printf("Tour du joueur %d.\n", joueur_courant); - joueur_courant = (joueur_courant == 1) ? 2 : 1; -} - -int jeu_termine() { - /* Retourne 1 si le jeu est terminé, 0 sinon*/ - printf("Vérification si le jeu est terminé...\n"); - return 0; -} - -int partie_avec_IA() { - /* Retourne 1 si le jeu est contre une IA*/ - return 1; -} - diff --git a/game_logic.h b/game_logic.h deleted file mode 100644 index 77a14e2..0000000 --- a/game_logic.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifndef GAME_LOGIC_H -#define GAME_LOGIC_H - -void initialiser_jeu(int taille_grille); -/* Initialise le jeu avec une grille de la taille donnée.*/ - -void tour_joueur(); -/* Gère le tour du joueur courant.*/ - -int jeu_termine(); -/* Renvoie 1 si le jeu est terminé, 0 sinon.*/ - -int partie_avec_IA(); -/* Renvoie 1 si le jeu est contre une IA, 0 sinon.*/ - -#endif diff --git a/graphics.c b/graphics.c index 2f14c11..e69de29 100644 --- a/graphics.c +++ b/graphics.c @@ -1,17 +0,0 @@ -#include -#include -#include "graphics.h" -#include "graph.h" - -void dessiner_case(int x, int y, couleur c) { - /* Dessin d'une case*/ - RemplirRectangle(x * 50, y * 50, 50, 50); - printf("Case dessinée à la position (%d, %d).\n", x, y); -} - -void afficher_joueur(int x, int y, couleur c) { - /* Affichage d'un joueur*/ - RemplirArc(x * 50, y * 50, 50, 50, 0, 360); - printf("Joueur dessiné à la position (%d, %d).\n", x, y); -} - diff --git a/interface.c b/interface.c new file mode 100644 index 0000000..e69de29 diff --git a/interface.h b/interface.h new file mode 100644 index 0000000..e69de29 diff --git a/main.c b/main.c index ba5c5aa..e69de29 100644 --- a/main.c +++ b/main.c @@ -1,35 +0,0 @@ -#include -#include -#include "menu.h" -#include "game_logic.h" -#include "graphics.h" -#include "board.h" -#include "player.h" - -int main() { - int taille_grille; /*Déclaration des variables*/ - int initialisation_reussie; - - /*Initialisation graphique et des composants du jeu*/ - initialisation_reussie = InitialiserGraphique(); - if (!initialisation_reussie) { - fprintf(stderr, "Erreur lors de l'initialisation graphique.\n"); - return EXIT_FAILURE; /*Erreur critique, on termine le programme*/ - } - - taille_grille = afficher_menu(); /* Fonction du menu pour choisir la taille du jeu*/ - initialiser_jeu(taille_grille); /* Initialise la grille et les joueurs*/ - - while (!jeu_termine()) { /* Boucle de jeu principale*/ - tour_joueur(); /* Gestion d'un tour de joueur*/ - if (partie_avec_IA()) { - tour_IA(); /* Si un seul joueur, l'IA joue son tour*/ - } - } - - afficher_gagnant(); /* Affiche le gagnant et permet de rejouer ou quitter*/ - FermerGraphique(); - - return EXIT_SUCCESS; /* Programme terminé avec succès*/ -} - diff --git a/menu.c b/menu.c deleted file mode 100644 index 72660c9..0000000 --- a/menu.c +++ /dev/null @@ -1,21 +0,0 @@ -#include -#include -#include "menu.h" -#include "graphics.h" - -int afficher_menu() { - int taille; /* Déclaration des variables*/ - int resultat_scanf; - - /* Code pour afficher le menu avec des options de taille de grille*/ - printf("Sélectionnez la taille de la grille (entre 3 et 9) :\n"); - resultat_scanf = scanf("%d", &taille); - - if (resultat_scanf != 1 || taille < 3 || taille > 9) { - fprintf(stderr, "Erreur : taille de grille invalide.\n"); - return EXIT_FAILURE; /* Erreur dans la saisie*/ - } - - return taille; -} - diff --git a/menu.h b/menu.h deleted file mode 100644 index cc5f585..0000000 --- a/menu.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifndef MENU_H -#define MENU_H - -int afficher_menu(); -/* Affiche le menu pour choisir la taille de la grille et renvoie la taille choisie.*/ - -#endif diff --git a/player.c b/player.c deleted file mode 100644 index 7cb3897..0000000 --- a/player.c +++ /dev/null @@ -1,34 +0,0 @@ -#include -#include -#include "player.h" -#include "board.h" - -typedef struct { - int x, y; /* Position du pion*/ -} Joueur; - -static Joueur joueur1, joueur2; - -void initialiser_joueurs() { - /* Initialisation des joueurs*/ - joueur1.x = 0; - joueur1.y = 0; - joueur2.x = 1; - joueur2.y = 1; - printf("Joueurs initialisés.\n"); -} - -void deplacer_joueur(Joueur *j, int nouvelle_x, int nouvelle_y) { - if (est_case_libre(nouvelle_x, nouvelle_y)) { - j->x = nouvelle_x; - j->y = nouvelle_y; - printf("Le joueur a été déplacé.\n"); - } else { - printf("Case non libre, impossible de déplacer le joueur.\n"); - } -} - -Joueur* obtenir_joueur(int numero) { - return (numero == 1) ? &joueur1 : &joueur2; -} -