This repository has been archived on 2022-12-11. You can view files and clone it, but cannot push or open issues or pull requests.
Othello/includes/joueur.h
2022-11-18 16:35:36 +01:00

41 lines
1.1 KiB
C

#ifndef OTHELLO_JOUEUR_H
#define OTHELLO_JOUEUR_H 1
#include "jeu.h"
#include "liste.h"
#include "plateau.h"
typedef struct jeu Jeu;
/* Joueur possédant un nom, une couleur ainsi que sa liste de jeton
* placé sur le plateau */
struct joueur {
char *nom;
int couleur;
Liste *liste_jeton;
int nb_jeton; // permet de facilement savoir qui a gagné
};
typedef struct joueur Joueur;
/* Créer un nouveau joueur */
Joueur *nouveau_joueur(int pion);
/* Ajoute un jeton à un joueur */
void ajoute_jeton_joueur(Joueur *joueur, Jeton *jeton);
/* Retire un jeton à un joueur */
void retire_jeton_joueur(Joueur *joueur, Jeton *jeton);
/* Renvoie la couleur de l'ennemi */
int couleur_ennemi(int couleur);
/* Gère le coup d'un joueur en faisant les changements nécessaire au jeu
* Renvoie 0 en cas de coup illégal */
int jeu_joueur(Jeu *jeu, int case_i, int case_j, int couleur);
/* Auxiliaire : S'occupe de faire les changements de jetons récursivement
* lorsqu'un joueur joue */
void _jeu_joueur(Jeu *jeu, int case_i, int case_j, int case_i_direction,
int case_j_direction, int couleur);
#endif