|
|
@@ -1,11 +1,13 @@ |
|
|
|
package de.hems.trafficsim; |
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.LinkedList; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Observable; |
|
|
|
|
|
|
|
public class Track extends Observable { |
|
|
|
protected List<Vehicle> vehicles; |
|
|
|
protected List<List<VehicleTimeRecord>> vtr_list; |
|
|
|
|
|
|
|
|
|
|
|
public List<Vehicle> getVehicles() { |
|
|
@@ -15,6 +17,7 @@ public class Track extends Observable { |
|
|
|
|
|
|
|
public Track(int numberVehicles) { |
|
|
|
this.vehicles = createVehiclesList(numberVehicles); |
|
|
|
this.vtr_list = new LinkedList<>(); |
|
|
|
} |
|
|
|
|
|
|
|
protected List<Vehicle> createVehiclesList(int numberVehicles){ |
|
|
@@ -27,7 +30,7 @@ public class Track extends Observable { |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
public void timeElapse(float timeStep) { |
|
|
|
public void timeElapse(int timeStep) { |
|
|
|
for(int i=0; i<vehicles.size();i++) { |
|
|
|
Vehicle v = vehicles.get(i); |
|
|
|
int forerunnerIndex = i + 1; |
|
|
@@ -41,9 +44,12 @@ public class Track extends Observable { |
|
|
|
} |
|
|
|
v.updateVelocity(distanceForerunner); |
|
|
|
} |
|
|
|
|
|
|
|
List <VehicleTimeRecord> records = new ArrayList<>(vehicles.size()); |
|
|
|
this.vtr_list.add(records); |
|
|
|
for(Vehicle v: vehicles){ |
|
|
|
v.timeElapse(50); |
|
|
|
VehicleTimeRecord vtr = new VehicleTimeRecord(v.id, v.position, v.curVelocity, timeStep); |
|
|
|
records.add(vtr); |
|
|
|
} |
|
|
|
|
|
|
|
this.setChanged(); |
|
|
|