-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathJoueur.java
118 lines (103 loc) · 2.48 KB
/
Joueur.java
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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
import java.util.*;
import java.io.*;
/**
* Classe abstraite joueur
*/
public abstract class Joueur implements Serializable {
/**
* Attributs
*/
/**
* nom du joueur
*/
private String nom;
/**
* score moyen du joueur
*/
private double scoreMoyen;
/**
* liste des parties du joueur
*/
private ArrayList<Partie> liste;
/**
* Constructeur du joueur
* @param nom nom du joueur
*/
public Joueur(String nom) {
this.nom = nom;
this.scoreMoyen = 0;
this.liste = new ArrayList<Partie>();
}
/**
* méthode à définir permettant de poser une pièce
* @param piece pièce à poser
* @return un booléen indiquant si la pièce a été posée
*/
public abstract boolean poserPiece(Piece piece);
/**
* méthode permettant d'afficher les parties du joueur
*/
public void afficherParties() {
for (int i = 0; i < this.liste.size(); i++) {
System.out.print(i + " :");
this.liste.get(i).afficherDetails();
}
}
/**
* méthode à définir dans les classes qui héritent, permet d'obtenir le score du joueur
* @return
*/
public abstract double calculerScore();
/**
* méthode permetant de calculer le score moyen du joueur
*/
public void calculerScoreMoyen(){
double total=0;
for(Partie p : this.liste){
total+=p.getScore();
}
this.scoreMoyen=total/this.liste.size();
}
/**
* ajoute une partie à la liste de partie
* @param p partie à ajouter
*/
public void ajouterPartie(Partie p){
this.liste.add(p);
}
/**
* change le nom du joueur
* @param name nom à donner
*/
public void setNom(String name) {
this.nom = name;
}
/**
* méthode donnant le nom du joueur
* @return le nom
*/
public String getNom() {
return this.nom;
}
/**
* méthode changeant le score moyen du joueur
* @param sc score à mettre
*/
public void setScore(double sc) {
this.scoreMoyen = sc;
}
/**
* méthode qui retourne le score moyen du joueur
* @return
*/
public double getScore() {
return this.scoreMoyen;
}
/**
* méthode qui retourne la liste de parties du joueur
* @return liste de parties
*/
public ArrayList<Partie> getListe() {
return this.liste;
}
}