From 18388a0a1fabe18f595bdf9e1040e9422a31d637 Mon Sep 17 00:00:00 2001
From: ColinDrieu <colin.drieu@insa-rennes.fr>
Date: Tue, 3 May 2016 17:28:31 +0200
Subject: [PATCH] Correction de la fonction ajouterUnJoueur de controlleur.c
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Correction reportée dans SDL_bis.
---
 src/SDL_bis.c    |  3 ++-
 src/controleur.c | 19 +++++++++++++++----
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/src/SDL_bis.c b/src/SDL_bis.c
index 3e6758a..810b9b9 100644
--- a/src/SDL_bis.c
+++ b/src/SDL_bis.c
@@ -63,7 +63,8 @@ int SDL_bis()
     char nom_joueur1[15] = "";
     fgets(nom_joueur1, sizeof(nom_joueur1), stdin);
     char nom_joueur2[15] = "";
-    ajouter_joueurs(nom_joueur1,nom_joueur2, &etat); //a coder par colin
+    ajouterUnJoueur(nom_joueur1,&etat);
+    ajouterUnJoueur(nom_joueur2,&etat);
 
     while(quitter==0)
     {
diff --git a/src/controleur.c b/src/controleur.c
index 65fcb3f..65ec869 100644
--- a/src/controleur.c
+++ b/src/controleur.c
@@ -28,14 +28,25 @@ void initJeu(){
 
 /*!
  * \fn void ajouterUnJoueur(char * nomDuJoueur, Et)
- * \brief Fonction de construction d'un package contenant l'univers du jeu
+ * \brief Fonction ajoutant un Joueur à la Partie et faisant passer la partie à l'état suivant.
+ *        Si le joueur n'a pas correctement été ajouté, l'état reste le même.
  *
- * \return un Game_Package
+ * \param Le nom du joueur à ajouter à la partie
  */
  void ajouterUnJoueur(char * nomDuJoueur, EtatsJeu * etat){
     Joueur * j = nouveauJoueur();
-    setNomJoueur(j,nomDuJoueur);
-    addParticipant(partieGlobale,j);
+    if(j!=NULL){
+        setNomJoueur(j,nomDuJoueur);
+        if(addParticipant(partieGlobale,j)){
+            *etat =LANCEMENT;
+        }
+        else{
+            *etat=SAISIE_JOUEURS;
+        }
+    }
+    else{
+        *etat=SAISIE_JOUEURS;
+    }
  }
 
 
-- 
GitLab