mirror of
https://github.com/guezoloic/racing-game.git
synced 2026-03-28 18:03:50 +00:00
ajout de decorateur HybrideCar.java
This commit is contained in:
@@ -1,20 +1,28 @@
|
||||
/**
|
||||
* Décorateur Hybrid :
|
||||
* consomme moins de carburant.
|
||||
* HybridCar = décorateur "voiture hybride".
|
||||
*
|
||||
* Idée :
|
||||
* - La voiture avance à chaque tour
|
||||
* - Mais elle consomme du carburant seulement 1 fois sur 2
|
||||
* => donc elle économise du carburant.
|
||||
*/
|
||||
public class HybridCar extends CarDecorator {
|
||||
|
||||
private boolean consumeThisTurn = false; // alterne vrai/faux
|
||||
|
||||
public HybridCar(Car car) {
|
||||
super(car);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
// une fois sur deux, pas de consommation
|
||||
if (Math.random() < 0.5) {
|
||||
car.move();
|
||||
} else {
|
||||
car.run();
|
||||
// 1) La voiture avance toujours
|
||||
car.move();
|
||||
|
||||
// 2) Un tour sur deux seulement : on consomme
|
||||
consumeThisTurn = !consumeThisTurn;
|
||||
if (consumeThisTurn) {
|
||||
car.consumeFuel();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user