From c990134a67a4a94d231c010224acbb07ac141389 Mon Sep 17 00:00:00 2001 From: thmaillarb Date: Mon, 29 Nov 2021 09:11:44 +0100 Subject: [PATCH 1/2] Ajout de la structure du joueur --- Documentation/general.md | 0 Pontu/include/modele/Joueur.h | 34 ++++++++++++++++++++++++++++++++++ Pontu/src/modele/Joueur.c | 10 ++++++++++ 3 files changed, 44 insertions(+) create mode 100644 Documentation/general.md create mode 100644 Pontu/include/modele/Joueur.h create mode 100644 Pontu/src/modele/Joueur.c diff --git a/Documentation/general.md b/Documentation/general.md new file mode 100644 index 0000000..e69de29 diff --git a/Pontu/include/modele/Joueur.h b/Pontu/include/modele/Joueur.h new file mode 100644 index 0000000..8c142dc --- /dev/null +++ b/Pontu/include/modele/Joueur.h @@ -0,0 +1,34 @@ +/** + * \file Joueur.h + * \brief Représente un joueur + * \author Théotime Maillarbaux + * \date 29/11/2021 + */ + +#ifndef JOUEUR_H +#define JOUEUR_H + +#define PSEUDO_LENMAX 50 + +#include + +/** + * \struct Joueur + * \brief Joueur d'une partie + */ +typedef struct { + char pseudo[PSEUDO_LENMAX]; //< Le pseudo du joueur + SDL_Color couleur; //< La couleur des pions du joueur + int classement; //< La position du joueur dans le classement (vaut 0 s'il n'est pas encore éliminé) +} Joueur; + +/** + * \brief Crée un nouveau joueur + * \param[in] pseudo Le pseudo du nouveau joueur + * \param[in] couleur La couleur du nouveau joueur + * \return Une structure représentant le nouveau joueur + */ +Joueur nouveauJoueur(char pseudo[PSEUDO_LENMAX], SDL_Color couleur); + + +#endif // JOUEUR_H diff --git a/Pontu/src/modele/Joueur.c b/Pontu/src/modele/Joueur.c new file mode 100644 index 0000000..2d54ef7 --- /dev/null +++ b/Pontu/src/modele/Joueur.c @@ -0,0 +1,10 @@ +#include "modele/Joueur.h" + +Joueur nouveauJoueur(char pseudo[PSEUDO_LENMAX], + SDL_Color couleur) { + Joueur joueur; + strcpy(joueur.pseudo, pseudo); + joueur.couleur = couleur; + joueur.classement = 0; +} + From 6e4c1ce0c18a9eb9f80092f726408c7ecb8e1cd1 Mon Sep 17 00:00:00 2001 From: thmaillarb Date: Mon, 29 Nov 2021 09:45:45 +0100 Subject: [PATCH 2/2] Ajout de Game --- Pontu/include/modele/Partie.h | 44 +++++++++++++++++++++++++++++++++++ Pontu/src/modele/Game.c | 13 +++++++++++ 2 files changed, 57 insertions(+) create mode 100644 Pontu/include/modele/Partie.h create mode 100644 Pontu/src/modele/Game.c diff --git a/Pontu/include/modele/Partie.h b/Pontu/include/modele/Partie.h new file mode 100644 index 0000000..0b7d9c3 --- /dev/null +++ b/Pontu/include/modele/Partie.h @@ -0,0 +1,44 @@ +/** + * \file Partie.h + * \brief Gestion de la partie + * \author Théotime Maillarbaux + * \date 29/11/2021 + */ + +#ifndef PARTIE_H +#define PARTIE_H + +#include "model/Player.h" +#include "model/Board.h" + + +/** + * \enum Etat + * \brief Représente l'état de la partie en cours + */ +typedef enum { + PLACEMENT, + GAME +} State; + +/** + * \struct Game + * \brief Represents a game + */ +typedef struct { + int currentPlayerID; ///< The ID of the one currently playing + int nb_rounds; ///< The number of rounds so far + //TODO duree + State state; ///< The current state of the game + Player arrPlayers[4]; ///< The array of all the players in this game + Board board; ///< The board for this game +} Game; + +/** + * \brief Makes a new Game + * \param[in] nbPlayers The number of players for this game + * \return A struct representing the game + */ +Game newGame(int nbPlayers); + +#endif //PARTIE_H diff --git a/Pontu/src/modele/Game.c b/Pontu/src/modele/Game.c new file mode 100644 index 0000000..bb20325 --- /dev/null +++ b/Pontu/src/modele/Game.c @@ -0,0 +1,13 @@ +#include "model/Game.h" + +Game newGame(int nbPlayers) { + Game g; + // In Placement phase, the last player initialized is the 1st to play + g.currentPlayerID = nbPlayers - 1; + g.nb_rounds = 0; + g.state = PLACEMENT; + // TODO newBoard + // TODO initPlayers (avec gestion des couleurs) + return g; +} +