1#ifndef PLAYER_MANAGER_HPP
2#define PLAYER_MANAGER_HPP
13#include "terminal_utils.hpp"
14#include "string_utils.hpp"
16#include "exceptions.hpp"
20 std::vector<Player> players;
27 std::string totalWins;
30 std::string winsReversi;
31 std::string totalLoses;
33 std::string losesLig4;
34 std::string losesReversi;
41 bool readField(std::istringstream &ss, std::string &field);
55 void addPlayer(
const std::string &name,
const std::string &nickname,
Stats stats);
57 void addPlayer(
const std::string &name,
const std::string &nickname);
65 std::vector<Player>::iterator
getPlayer(
const std::string &nickname);
Definição playerManager.hpp:18
int getPlayerCount()
Get the current number of players.
Definição playerManager.cpp:343
void loadPlayers(const std::string &filename)
Loads player data from a file and adds players to the manager.
Definição playerManager.cpp:37
void addPlayer(const std::string &name, const std::string &nickname, Stats stats)
Adds a new player to the player manager.
Definição playerManager.cpp:151
size_t getMaxNicknameLength()
Get the maximum length of nicknames among all players.
Definição playerManager.cpp:368
void removePlayer(const std::string &nickname)
Removes a player from the player list by their nickname.
Definição playerManager.cpp:132
void printPlayerByNickname(const std::string &nickname)
Prints the player information based on the provided nickname.
Definição playerManager.cpp:307
void printPlayerByName(const std::string &name)
Prints the player information by name.
Definição playerManager.cpp:324
bool readStatsFields(std::istringstream &ss, PlayerData &data)
Reads the statistics fields from the input stream and populates the PlayerData structure.
Definição playerManager.cpp:106
void updatePlayerStats(const std::string &nickname, char result)
Updates the statistics of a player based on the game result.
Definição playerManager.cpp:205
void printTable()
Prints a formatted table of player information.
Definição playerManager.cpp:258
bool readBasicFields(std::istringstream &ss, PlayerData &data)
Reads basic fields (id, name, and nickname) from a given input stream.
Definição playerManager.cpp:95
bool readField(std::istringstream &ss, std::string &field)
Reads a field from a given input string stream.
Definição playerManager.cpp:119
void exportPlayerData()
Exports player data to a CSV file.
Definição playerManager.cpp:229
~PlayerManager()
Destructor for the PlayerManager class.
Definição playerManager.cpp:381
std::vector< Player >::iterator getPlayer(const std::string &nickname)
Retrieves an iterator to a player with the specified nickname.
Definição playerManager.cpp:186
PlayerManager()
Constructs a new PlayerManager object.
Definição playerManager.cpp:8
size_t getMaxNameLength()
Get the maximum length of player names.
Definição playerManager.cpp:353
bool readPlayerFromFile(std::istringstream &ss, PlayerData &data)
Reads player data from a given input stream.
Definição playerManager.cpp:84
Definição playerManager.hpp:23