mirror of
https://github.com/guezoloic/racing-game.git
synced 2026-03-28 18:03:50 +00:00
51 lines
975 B
Java
51 lines
975 B
Java
package model.car;
|
|
|
|
/**
|
|
* 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 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;
|
|
}
|
|
|
|
// TODO
|
|
@Override
|
|
public boolean apply() {
|
|
car.move();
|
|
consumeFuel();
|
|
return true;
|
|
}
|
|
|
|
// TODO
|
|
@Override
|
|
public void consumeFuel() {
|
|
if (energy > 0) {
|
|
energy -= 10;
|
|
} else {
|
|
car.consumeFuel();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public String decelerate() {
|
|
String msg = car.decelerate();
|
|
|
|
if (energy <= 100)
|
|
energy += 5;
|
|
|
|
return msg;
|
|
}
|
|
}
|