Changement de certain fichier après discussions avec soraya pour une meilleurs compréhention

This commit is contained in:
2024-10-24 13:40:06 +02:00
parent 932a945780
commit ff2c5b00b3
17 changed files with 22 additions and 243 deletions

View File

@@ -1,16 +1,15 @@
# CHAPITRE 1 : BUT FINAL
but : jeu
but : game
# CHAPITRE 2 : VARIABLES
OFILES = main.o \
menu.o \
board.o \
player.o \
interface.o \
game.o \
ai.o \
graphics.o \
ia.o \
game_logic.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

10
ai.c
View File

@@ -1,10 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#include "ai.h"
#include "game_logic.h"
void tour_IA() {
/* Logique de l'IA pour choisir un mouvement*/
printf("IA joue son tour...\n");
}

7
ai.h
View File

@@ -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

33
board.c
View File

@@ -1,33 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#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;
}

View File

0
game.h Normal file
View File

View File

@@ -1,32 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#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;
}

View File

@@ -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

View File

@@ -1,17 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#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);
}

0
interface.c Normal file
View File

0
interface.h Normal file
View File

35
main.c
View File

@@ -1,35 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#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*/
}

21
menu.c
View File

@@ -1,21 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#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;
}

7
menu.h
View File

@@ -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

View File

@@ -1,34 +0,0 @@
#include <stdio.h>
#include <stdlib.h>
#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;
}