Changement de certain fichier après discussions avec soraya pour une meilleurs compréhention
This commit is contained in:
45
Makefile
45
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 \
|
||||
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
|
||||
|
||||
menu.o: menu.c menu.h graphics.h
|
||||
|
||||
board.o: board.c board.h player.h game_logic.h
|
||||
|
||||
player.o: player.c player.h board.h
|
||||
|
||||
graphics.o: graphics.c graphics.h
|
||||
|
||||
ia.o: ia.c ia.h game_logic.h board.h
|
||||
|
||||
game_logic.o: game_logic.c game_logic.h board.h player.h
|
||||
game.o : game.h interface.h graphics.h
|
||||
|
||||
ai.o : ai.h game.h interface.h
|
||||
|
||||
graphics.o : graphics.h game.h
|
||||
|
||||
events.o : events.h game.h interface.h
|
||||
|
||||
# CHAPITRE 4 : DEPENDANCES AVEC COMMANDES
|
||||
|
||||
|
||||
jeu : $(OFILES)
|
||||
$(CC) $(CFLAGS) -o jeu $(OFILES)
|
||||
game : $(OFILES)
|
||||
$(CC) $(CFLAGS) -o game $(OFILES)
|
||||
|
||||
# CHAPITRE 5 : NETTOYAGE DES FICHIERS GENERES
|
||||
|
||||
clear :
|
||||
-rm -f $(OFILES) jeu
|
||||
clean :
|
||||
-rm -f $(OFILES) game
|
||||
|
||||
# CHAPITRE 6 : BUTS FACTICES
|
||||
|
||||
.PHONY : jeu clear
|
||||
|
||||
.PHONY : but clean
|
||||
|
||||
run :
|
||||
./jeu
|
||||
./game
|
||||
|
||||
|
||||
10
ai.c
10
ai.c
@@ -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
7
ai.h
@@ -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
33
board.c
@@ -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;
|
||||
}
|
||||
|
||||
32
game_logic.c
32
game_logic.c
@@ -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;
|
||||
}
|
||||
|
||||
16
game_logic.h
16
game_logic.h
@@ -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
|
||||
17
graphics.c
17
graphics.c
@@ -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
0
interface.c
Normal file
0
interface.h
Normal file
0
interface.h
Normal file
35
main.c
35
main.c
@@ -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
21
menu.c
@@ -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
7
menu.h
@@ -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
|
||||
34
player.c
34
player.c
@@ -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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user