-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathJoueur.java
executable file
·146 lines (125 loc) · 2.86 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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
package jeu;
import java.util.*;
/**
* Classe de gestion du joueur
*/
public class Joueur extends Observable {
/**
* Nom du joueur
*/
private String pseudo;
/**
* Identifiant du joueur
*/
private int idJoueur;
/**
* Main du joueur
*/
private Main main;
/**
* Plateau individuel du joueur
*/
private PlateauIndividuel monPlateau;
/**
* Constructeur Classe Joueur
*
* */
public Joueur(String pseudo, int idJoueur, Main main)
{
this.setPseudo(pseudo);
this.idJoueur=idJoueur;
this.main=main;
this.monPlateau = new PlateauIndividuel();
}
/**
* Constructeur Classe Joueur
* */
public Joueur(String pseudo, int idJoueur){
this.setPseudo(pseudo);
this.idJoueur=idJoueur;
this.main=new Main();
this.monPlateau = new PlateauIndividuel();
}
/**
* Getters permettant de récupérer l'id d'un joueur
* */
public int getIdJoueur(){
return this.idJoueur;
}
/**
* GETTER permettant de récupérer la main d'un joueur
* @return la main du joueur
*/
public Main getMain(){
return this.main;
}
/**
* Méthode comparant les joueurs en fonction de leur id
* @return boolean joueurs sont les mêmes
*/
public int compareIdJoueur(Joueur j){
if(this.getIdJoueur()==j.getIdJoueur()){
return 1;
}
return 0;
}
/**
* Méthode permettant de poser une carte, la carte est enlevée de la main pour être posé sur la plateau individuel
*/
public void poserCarte()
{
if(this.getMain().getLotDeCarte().size()==0){
monPlateau.setCartePose(new Carte());
}
else{
monPlateau.setCartePose(this.getMain().getLotDeCarte().removeFirst());
}
}
/**
* Méthode permettant de poser une carte de la main du joueur vers la levée Générale du plateau (règle du jeu lorsqu'il y a une bataille entre joueurs)
* @param p partie en cours
*/
public void poserCarteVersLeveeAdditionne(Partie p){
p.getPlateauPartie().getLeveeAdditionne().add(this.getMain().getLotDeCarte().removeFirst());
}
/**
* @param a HashSet de carte remis dans la main
*/
public void recupererCartes(HashSet<Carte> a){
for(Carte c: a){
this.getMain().getLotDeCarte().addLast(c);
}
}
/**
* @return true si la main du joueur est vide
*/
public boolean partiePerdue(){
if(main.mainVide()){
System.out.println(this.pseudo + " a perdu !");
return true;
}
return false;
}
/**
* GETTER permettant de récupérer le nom du joueur
* @return la nom du joueur
*/
public String getPseudo() {
return pseudo;
}
public void setPseudo(String pseudo) {
this.pseudo = pseudo;
}
public String toString(){
String s = "" + this.pseudo;
s+= "\n" + this.main.toString();
return s;
}
/**
* GETTER permettant de récupérer le plateau individuel du joueur
* @return le plateau
*/
public PlateauIndividuel getMonPlateau() {
return this.monPlateau;
}
}