ajout du code dans les fichier
This commit is contained in:
36
Makefile
36
Makefile
@@ -1,16 +1,16 @@
|
||||
# CHAPITRE 1 : BUT FINAL
|
||||
|
||||
but : game
|
||||
but : jeu
|
||||
|
||||
# CHAPITRE 2 : VARIABLES
|
||||
|
||||
OFILES = affichage.o \
|
||||
Bloque_Jdeux.o \
|
||||
Bloque_Jun.o \
|
||||
grille.o \
|
||||
Joueur_deux_pion.o \
|
||||
Joueur_un_pion.o \
|
||||
main.o
|
||||
OFILES = main.o \
|
||||
menu.o \
|
||||
board.o \
|
||||
player.o \
|
||||
graphics.o \
|
||||
ia.o \
|
||||
game_logic.o
|
||||
|
||||
CC = gcc
|
||||
|
||||
@@ -18,19 +18,23 @@ CFLAGS = -Wall -ansi -pedantic -g -lgraph
|
||||
|
||||
# CHAPITRE 3 : DEPENDANCES (REGLES IMPLICITES)
|
||||
|
||||
affichage.o : main.h
|
||||
|
||||
Bloque_Jdeux.o : Bloque_Jun.h grille.h
|
||||
|
||||
Bloque_Jun.o : Bloque_Jdeux.h grille.h
|
||||
main.o: main.c menu.h game_logic.h graphics.h board.h player.h
|
||||
|
||||
grille.o : main.h
|
||||
menu.o: menu.c menu.h graphics.h
|
||||
|
||||
Joueur_deux_pion.o : grille.h Bloque_Jun.h Bloque_Jun.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
|
||||
|
||||
Joueur_un_pion.o : grille.h Bloque_Jun.h Bloque_Jdeux.h
|
||||
|
||||
main.o : affichage.h Bloque_Jdeux.h Bloque_Jun.h grille.h Joueur_deux_pion.h Joueur_un_pion.h
|
||||
|
||||
|
||||
#CHAPITRE 4 : DEPENDANCES AVEC COMMANDES
|
||||
@@ -41,7 +45,7 @@ game : $(OFILES)
|
||||
|
||||
#CHAPITRE 5 : NETTOYAGE DES FICHIERS GENERES
|
||||
|
||||
clean :
|
||||
clear :
|
||||
-rm -f $(OFILES) game
|
||||
|
||||
#CHAPITRE 6 : BUTS FACTICES
|
||||
|
||||
10
ai.c
10
ai.c
@@ -0,0 +1,10 @@
|
||||
#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");
|
||||
}
|
||||
|
||||
|
||||
33
board.c
33
board.c
@@ -0,0 +1,33 @@
|
||||
#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
@@ -0,0 +1,32 @@
|
||||
#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;
|
||||
}
|
||||
|
||||
|
||||
17
graphics.c
17
graphics.c
@@ -0,0 +1,17 @@
|
||||
#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);
|
||||
}
|
||||
|
||||
|
||||
35
main.c
35
main.c
@@ -0,0 +1,35 @@
|
||||
#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
@@ -0,0 +1,21 @@
|
||||
#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;
|
||||
}
|
||||
|
||||
|
||||
34
player.c
34
player.c
@@ -0,0 +1,34 @@
|
||||
#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