Mathis RIBEMONT 4 years ago
commit ccea65a8c0

@ -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 <SDL_pixels.h>
/**
* \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

@ -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

@ -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;
}

@ -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;
}
Loading…
Cancel
Save