change headers

This commit is contained in:
Mylloon 2022-11-17 16:51:56 +01:00
parent 99131e2e46
commit 7b6adecaa1
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
7 changed files with 50 additions and 39 deletions

View file

@ -4,13 +4,15 @@
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include "liste.h"
/* Une case est soit vide, soit occupé par un des joueurs, noir ou blanc */ /* Une case est soit vide, soit occupé par un des joueurs, noir ou blanc */
enum CASE_PLAT { VIDE, BLANC, NOIR }; enum CASE { VIDE, BLANC, NOIR };
/* Propriété globale du jeu */ /* Propriété globale du jeu */
enum PLATEAU_DATA { LONGEUR = 8, LARGEUR = 8 }; enum PLATEAU { LONGEUR = 8, LARGEUR = 8 };
/* Jeton contenant le type de case (CASE_PLAT) ainsi que la position */ /* Jeton contenant le type de case (CASE) ainsi que la position */
struct jeton { struct jeton {
int couleur; int couleur;
int pos_i; int pos_i;
@ -21,34 +23,6 @@ typedef struct jeton Jeton;
/* Ajoute un nouveau jeton */ /* Ajoute un nouveau jeton */
Jeton *ajoute_jeton(int position_i, int position_j, int couleur); Jeton *ajoute_jeton(int position_i, int position_j, int couleur);
/* Élement de la liste */
struct element {
Jeton *jeton;
struct element *suivant;
};
typedef struct element Element;
/* Créer un nouvel élément pour la liste */
Element *nouvel_element(Jeton *jeton);
/* Liste chaînée */
struct list {
Element *premier;
};
typedef struct list Liste;
/* Créer une nouvelle liste vide */
Liste *nouvelle_liste(void);
/* Ajoute un élément à la liste */
void ajoute_liste(Liste *liste, Element *nouvel_element);
/* Supprime un élément de la liste */
void supprime_liste(Element *element_actuel, Jeton *jeton);
/* Libère la liste en mémoire */
void free_liste(Liste *liste);
/* Joueur contenant le nom, le type ainsi que sa liste de jeton placé sur le /* Joueur contenant le nom, le type ainsi que sa liste de jeton placé sur le
* plateau */ * plateau */
struct joueur { struct joueur {
@ -79,6 +53,9 @@ typedef struct jeu Jeu;
/* Créer une nouvelle partie */ /* Créer une nouvelle partie */
Jeu *nouvelle_partie(void); Jeu *nouvelle_partie(void);
/* Lance une partie */
void debut_partie(Jeu *jeu);
/* Libère le jeu en mémoire */ /* Libère le jeu en mémoire */
void free_jeu(Jeu *jeu); void free_jeu(Jeu *jeu);

34
includes/liste.h Normal file
View file

@ -0,0 +1,34 @@
#ifndef OTHELLO_LISTE_H
#define OTHELLO_LISTE_H 1
typedef struct jeton Jeton;
/* Élement de la liste */
struct element {
Jeton *jeton;
struct element *suivant;
};
typedef struct element Element;
/* Créer un nouvel élément pour la liste */
Element *nouvel_element(Jeton *jeton);
/* Liste chaînée */
struct list {
Element *premier;
};
typedef struct list Liste;
/* Créer une nouvelle liste vide */
Liste *nouvelle_liste(void);
/* Ajoute un élément à la liste */
void ajoute_liste(Liste *liste, Element *nouvel_element);
/* Supprime un élément de la liste */
void supprime_liste(Element *element_actuel, Jeton *jeton);
/* Libère la liste en mémoire */
void free_liste(Liste *liste);
#endif

View file

@ -1,7 +1,7 @@
#ifndef OTHELLO_PLATEAU_H #ifndef OTHELLO_PLATEAU_H
#define OTHELLO_PLATEAU_H 1 #define OTHELLO_PLATEAU_H 1
#include "struct.h" #include "jeu.h"
/* Remplie le plateau avec la configuration de départ */ /* Remplie le plateau avec la configuration de départ */
void remplissage_debut(Jeu *jeu); void remplissage_debut(Jeu *jeu);

View file

@ -28,6 +28,8 @@ Jeu *nouvelle_partie(void) {
return jeu; return jeu;
} }
void debut_partie(Jeu *jeu) { affiche_plateau(jeu->plateau); }
void free_jeu(Jeu *jeu) { void free_jeu(Jeu *jeu) {
free_liste(jeu->j1->liste_jeton); free_liste(jeu->j1->liste_jeton);
free(jeu->j1); free(jeu->j1);

View file

@ -1,5 +1,4 @@
#include "../includes/struct.h" #include "../includes/jeu.h"
#include <stdlib.h>
Element *nouvel_element(Jeton *jeton) { Element *nouvel_element(Jeton *jeton) {
Element *element = malloc(sizeof(Element)); Element *element = malloc(sizeof(Element));

View file

@ -1,11 +1,10 @@
#include "../includes/plateau.h" #include "../includes/jeu.h"
#include "../includes/struct.h"
int main(void) { int main(void) {
Jeu *jeu = nouvelle_partie(); Jeu *jeu = nouvelle_partie();
affiche_plateau(jeu->plateau); debut_partie(jeu);
free_jeu(jeu); free_jeu(jeu);
return EXIT_SUCCESS; return 0;
} }

View file

@ -1,4 +1,4 @@
#include "../includes/struct.h" #include "../includes/plateau.h"
void remplissage_debut(Jeu *jeu) { void remplissage_debut(Jeu *jeu) {
for (int i = 0; i < LONGEUR; ++i) { for (int i = 0; i < LONGEUR; ++i) {