ajout de decorateur HybrideCar.java

This commit is contained in:
Chahrazad650
2025-12-13 08:52:16 +01:00
parent c3facd829d
commit 7481364134

View File

@@ -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();
}
}
}