-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathStrategyEnfant.java
66 lines (51 loc) · 1.22 KB
/
StrategyEnfant.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
/**
* Comportement d'un consommateur designe comme un enfant
*/
public class StrategyEnfant extends Strategy {
/**
* Constructeur vide
*/
public StrategyEnfant () {}
/**
* Redefinition de la methode standard toString()
*
* @return le type de la strategie
*/
@Override
public String toString() {
return super.toString() + " enfant";
}
/**
* Redefinition de la methode standard equals()
*
* @return si deux strategies sont de meme type
*/
@Override
public boolean equals(Object obj) {
if ((this != null) && (this.getClass() == obj.getClass())) {
return super.equals(obj);
}
return false;
}
/**
* Redefinition de la methode abstraite acheter()
*
* @param c : consommateur dont le comportement est celui d'un enfant
*/
@Override
public void acheter(Consommateur c) {
double pR = c.getPRachat();
Boulangerie b = Boulangerie.getBoulangerie(0, 0, 0, 0, 0);
boolean bool;
bool = c.ajouter(b.getSTab(), b.getNbSucreries());
if (bool) {
b.decrNbS();
}
for (double p = Math.random(); p <= pR; p *= 1.2) {
bool = c.ajouter(b.getSTab(), b.getNbSucreries());
if (bool) {
b.decrNbS();
}
}
}
}