-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPlayer.java
More file actions
executable file
·134 lines (108 loc) · 2.64 KB
/
Player.java
File metadata and controls
executable file
·134 lines (108 loc) · 2.64 KB
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
import java.util.Stack;
/**
* la classe du joueur
* @author Clément Chomicki
*/
public class Player extends Entity
{
private Room aLocation;
private Stack<Room> aPreviousRooms;
private int aMaxWeight;
/**
* Constructeur de la classe
* @param pN le nom de l'entite
*/
public Player( final String pN )
{
super( pN );
this.aPreviousRooms = new Stack<Room>();
}
/**
* vide la stack
*/
public void resetStack()
{
this.aPreviousRooms = new Stack<Room>();
}
/**
* Accesseur de aLocation
* @return la location
*/
public Room getLocation()
{
return this.aLocation;
}
/**
* retire la derniere piece visitee de la pile et la retourne
* @return la derniere piece visitee
*/
public Room goToPreviousLocation()
{
return this.aPreviousRooms.pop();
}
/**
* Ajoute une piece a la pile de l'historique des pieces
* @param pNextRoom la piece a empiler sur la pile des pieces deja visitees
*/
public void pushPreviousLocation( final Room pNextRoom )
{
this.aPreviousRooms.push( this.getLocation() );
}
/**
* deplace le Joueur a un endroit donne
* @param pNextRoom la piece où l'on deplace le joueur
*/
public void setLocation( final Room pNextRoom )
{
this.aLocation = pNextRoom;
} // setLocation()
/**
* setter de aMaxWeight
* @param pMW nouveau poids maximal
*/
public void setMaxWeight( final int pMW)
{
this.aMaxWeight = pMW;
}
/**
* accesseur de aMaxWeight
* @return le poids maximal
*/
public int getMaxWeight()
{
return this.aMaxWeight;
}
/**
* teste si la pile est vide
* @return un booleen
*/
public boolean hasNoPreviousLocations()
{
return this.aPreviousRooms.isEmpty();
}
/**
* Cree la description de l'inventaire du joueur
* @return la description de l'inventaire du joueur
*/
public String makeItemsDescription()
{
String vS = super.inventoryString();
if (vS.equals(""))
return "You own nothing.\nTotal: 0 / "+this.getMaxWeight();
else
return (
"You have " + vS + "\nTotal: " +
super.getCarriedWeight() +
" / " + this.getMaxWeight()
);
}
/**
* determine si un item peut etre porte en fonction de son poids
* @param pItem un Item
* @return true si l'item est assez leger pour etre porte
*/
public boolean canCarryItem( final Item pItem )
{
return super.getCarriedWeight() + pItem.getWeight() <= this.getMaxWeight();
}
}