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 : * HybridCar = décorateur "voiture hybride".
* consomme moins de carburant. *
* 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 { public class HybridCar extends CarDecorator {
private boolean consumeThisTurn = false; // alterne vrai/faux
public HybridCar(Car car) { public HybridCar(Car car) {
super(car); super(car);
} }
@Override @Override
public void run() { public void run() {
// une fois sur deux, pas de consommation // 1) La voiture avance toujours
if (Math.random() < 0.5) {
car.move(); car.move();
} else {
car.run(); // 2) Un tour sur deux seulement : on consomme
consumeThisTurn = !consumeThisTurn;
if (consumeThisTurn) {
car.consumeFuel();
} }
} }
} }