uebung05 ende
This commit is contained in:
45
uebung05/src/logistics/Truck.java
Normal file
45
uebung05/src/logistics/Truck.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package logistics;
|
||||
|
||||
import logistics.material.BulletBelts;
|
||||
import logistics.material.LiterDiesel;
|
||||
import logistics.quantities.NeedCollector;
|
||||
import logistics.storage.FloatStorage;
|
||||
import logistics.storage.IntStorage;
|
||||
|
||||
public class Truck extends Vehicle {
|
||||
private final FloatStorage tank;
|
||||
private final IntStorage bullets;
|
||||
|
||||
public Truck(String name, float diesel, int bullets) {
|
||||
super(name);
|
||||
this.tank = new FloatStorage(diesel, LiterDiesel.INSTANCE, 180);
|
||||
this.bullets = new IntStorage(bullets, BulletBelts.INSTANCE, 3);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void consumeAll(int intensity) {
|
||||
oil.consume(1);
|
||||
grease.consume(1);
|
||||
tank.consume(intensity * 25);
|
||||
bullets.consume(intensity * 2);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void reportNeeds(NeedCollector collector) {
|
||||
oil.reportNeed(collector);
|
||||
grease.reportNeed(collector);
|
||||
tank.reportNeed(collector);
|
||||
bullets.reportNeed(collector);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void fillUpAll() {
|
||||
oil.fillUp();
|
||||
grease.fillUp();
|
||||
tank.fillUp();
|
||||
bullets.fillUp();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user