change headers
This commit is contained in:
parent
99131e2e46
commit
7b6adecaa1
7 changed files with 50 additions and 39 deletions
|
@ -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
34
includes/liste.h
Normal 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
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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) {
|
||||||
|
|
Reference in a new issue