diff --git a/includes/jeu.h b/includes/jeu.h index b03868a..bab86fc 100644 --- a/includes/jeu.h +++ b/includes/jeu.h @@ -56,6 +56,9 @@ Jeu *nouvelle_partie(void); /* Lance et joue une partie */ void deroulement_partie(Jeu *jeu); +/* Vérifie si un joueur peut jouer */ +int _action_joueur(Jeton *plateau[LONGEUR][LARGEUR], int couleur); + /* Joue le tour d'un joueur */ void action_joueur(Jeu *jeu, int couleur); diff --git a/includes/plateau.h b/includes/plateau.h index 21270aa..4be35bc 100644 --- a/includes/plateau.h +++ b/includes/plateau.h @@ -12,4 +12,7 @@ void _affiche_lettres(void); /* Affiche le plateau */ void affiche_plateau(Jeton *plateau[LONGEUR][LARGEUR]); +/* Vérifie si le plateau est rempli */ +int plateau_rempli(Jeton *plateau[LONGEUR][LARGEUR]); + #endif diff --git a/src/jeu.c b/src/jeu.c index bb8c0ed..39fe916 100644 --- a/src/jeu.c +++ b/src/jeu.c @@ -35,7 +35,9 @@ void deroulement_partie(Jeu *jeu) { affiche_plateau(jeu->plateau); // TODO: Check if player can play - action_joueur(jeu, tour); + if (_action_joueur(jeu->plateau, tour)) { + action_joueur(jeu, tour); + } tour = tour == NOIR ? BLANC : NOIR; } @@ -43,14 +45,20 @@ void deroulement_partie(Jeu *jeu) { // TODO: Handle end game } +int _action_joueur(Jeton *plat[LONGEUR][LARGEUR], int couleur) { + // TODO + return 1; +} + void action_joueur(Jeu *jeu, int couleur) { // TODO printf("Tour de %c !\n", couleur); } int partie_finie(Jeu *jeu) { - // TODO - return 0; + return ((!_action_joueur(jeu->plateau, NOIR)) && + (!_action_joueur(jeu->plateau, BLANC))) || + plateau_rempli(jeu->plateau); } void free_jeu(Jeu *jeu) {