diff --git a/src/HybridCar.java b/src/HybridCar.java index 387b1ab..7f1cfb5 100644 --- a/src/HybridCar.java +++ b/src/HybridCar.java @@ -8,21 +8,44 @@ */ public class HybridCar extends CarDecorator { - private boolean consumeThisTurn = false; // alterne vrai/faux + private int energy = 100; // énergie batterie (0..100) public HybridCar(Car car) { super(car); } + /** pour afficher l'énergie dans le Dashboard */ + public int getEnergy() { + return energy; + } - @Override + + @Override public void run() { // 1) La voiture avance toujours car.move(); - // 2) Un tour sur deux seulement : on consomme - consumeThisTurn = !consumeThisTurn; - if (consumeThisTurn) { + // 2) Gestion énergie : elle perd 10% à chaque boucle + energy -= 10; + if (energy < 0) energy = 0; + + // 3) Consommation : + // - si on a encore de l'énergie, on économise le fuel (pas de conso) + // - sinon, on consomme normalement + if (energy == 0) { car.consumeFuel(); } } + + @Override + public String decelerate() { + // 1) On applique le ralentissement normal (State pattern) + String msg = car.decelerate(); + + // 2) Recharge +5% quand on ralentit + energy += 5; + if (energy > 100) energy = 100; + + return msg; + } } +