From f80c7f340bb29bcb0a01fe150316b908ac6f65e5 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Thu, 17 Nov 2022 20:24:22 +0100 Subject: [PATCH] start handling of the game --- includes/jeu.h | 10 ++++++++-- src/jeu.c | 25 ++++++++++++++++++++++++- src/main.c | 2 +- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/includes/jeu.h b/includes/jeu.h index 357259d..b03868a 100644 --- a/includes/jeu.h +++ b/includes/jeu.h @@ -53,8 +53,14 @@ typedef struct jeu Jeu; /* Créer une nouvelle partie */ Jeu *nouvelle_partie(void); -/* Lance une partie */ -void debut_partie(Jeu *jeu); +/* Lance et joue une partie */ +void deroulement_partie(Jeu *jeu); + +/* Joue le tour d'un joueur */ +void action_joueur(Jeu *jeu, int couleur); + +/* Vérifie si une partie est terminée */ +int partie_finie(Jeu *jeu); /* Libère le jeu en mémoire */ void free_jeu(Jeu *jeu); diff --git a/src/jeu.c b/src/jeu.c index b4f3f1d..bb8c0ed 100644 --- a/src/jeu.c +++ b/src/jeu.c @@ -28,7 +28,30 @@ Jeu *nouvelle_partie(void) { return jeu; } -void debut_partie(Jeu *jeu) { affiche_plateau(jeu->plateau); } +void deroulement_partie(Jeu *jeu) { + int tour = NOIR; + + while (!partie_finie(jeu)) { + affiche_plateau(jeu->plateau); + + // TODO: Check if player can play + action_joueur(jeu, tour); + + tour = tour == NOIR ? BLANC : NOIR; + } + + // TODO: Handle end game +} + +void action_joueur(Jeu *jeu, int couleur) { + // TODO + printf("Tour de %c !\n", couleur); +} + +int partie_finie(Jeu *jeu) { + // TODO + return 0; +} void free_jeu(Jeu *jeu) { free_liste(jeu->j1->liste_jeton); diff --git a/src/main.c b/src/main.c index 2813f4a..d66e303 100644 --- a/src/main.c +++ b/src/main.c @@ -2,7 +2,7 @@ int main(void) { Jeu *jeu = nouvelle_partie(); - debut_partie(jeu); + deroulement_partie(jeu); free_jeu(jeu);