-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJugador.hh
executable file
·98 lines (77 loc) · 2.42 KB
/
Jugador.hh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
/** @file Jugador.hh
* @brief Especificació de la classe Jugador.
*/
#ifndef _JUGADOR_HH_
#define _JUGADOR_HH_
#include "Classificacio.hh"
#ifndef NO_DIAGRAM
#include <iostream>
#include <string>
#endif
using namespace std;
/** @class Jugador.
* @brief Representa a un jugador.
*
* Emmagatzema el seu nom,
* la seva posició en el ranking, els seus punts
* i les estadístiques d'aquest. Conté funcions
* de consulta necessaries, i també dues per actualitzar-lo en base a un
* resultat que hagi obtingut en un torneig.
*/
class Jugador {
public:
Jugador() {};
/** @brief Inicialitza un Jugador amb nom i posició en el ranking,
* inicialitzant les estadístiques a zero.
* \pre Un string no nul (nom del jugador).
* \post Un jugador amb nom i ranking,
* i les estadístiques inicialitzades a zero.
*/
Jugador(string nom, int ranking);
/** @brief Inicialitza un Jugador igual a un altre.
* \pre Un jugador.
* \post Es copia el jugador.
*/
Jugador(const Jugador &j);
/** @brief Actualitza els punts i les estadístiques del jugador
* respecte el resultat obtigut en un torneig.
* \pre Un resultat.
* \post S'actualitzen les estadistiques de, jugador en base a les del resultat.
*/
void afegir_resultat(const Resultat &r);
/** @brief Es retiren punts al jugador en funció a un resultat
* d'un torneig.
* \pre Un resultat.
* \post Es retiren els punts obtinguts en el resultat.
*/
void retirar_resultat(const Resultat &r);
/** @brief Modifica la posició del ranking del jugador.
* \pre Un enter >= 1.
* \post S'actualitza this->ranking.
*/
void actualitzar_ranking(int r);
/** @brief Escriu les principals estadístiques del jugador a la sortida.
* \pre Cert.
* \post Les estadístiques a la sortida.
*/
void escriure_estadistiques() const;
/** @brief Retorna els punts actuals del jugador.
* \pre Cert.
* \post Els punts del jugadors.
*/
int consultar_punts() const;
/** @brief Retorna la posició al ranking
* \pre: Cert.
* \post: La posicició al ranking
*/
int consultar_ranking() const;
private:
int punts; /**< Punts actuals del jugador */
int ranking; /**< Posició actual del jugador en el ranking */
int jocs_favor, jocs_contra;
int sets_favor, sets_contra;
int partits_favor, partits_contra;
int tornejos_disputats;
string nom;
};
#endif