@@ -12,12 +12,14 @@ import java.util.Observer; | |||||
public class MainActivity extends AppCompatActivity implements Observer { | public class MainActivity extends AppCompatActivity implements Observer { | ||||
protected Track track; | protected Track track; | ||||
protected VehicleTimeRecord records; | |||||
@Override | @Override | ||||
protected void onCreate(Bundle savedInstanceState) { | protected void onCreate(Bundle savedInstanceState) { | ||||
super.onCreate(savedInstanceState); | super.onCreate(savedInstanceState); | ||||
setContentView(R.layout.activity_main); | setContentView(R.layout.activity_main); | ||||
this.track = new Track(20); | this.track = new Track(20); | ||||
this.records = null; | |||||
this.track.addObserver(this); | this.track.addObserver(this); | ||||
} | } | ||||
@@ -32,14 +34,19 @@ public class MainActivity extends AppCompatActivity implements Observer { | |||||
+ "\n"; | + "\n"; | ||||
; | ; | ||||
} | } | ||||
String t = ""; //vtr arraylist to string | |||||
String text = s + "\n" + t; | |||||
TextView view = (TextView) findViewById(R.id.debugTextView); | TextView view = (TextView) findViewById(R.id.debugTextView); | ||||
view.setText(s); | |||||
view.setText(text); | |||||
view.invalidate(); | view.invalidate(); | ||||
} | } | ||||
public void onStepButtonClick (View view) { | public void onStepButtonClick (View view) { | ||||
for (int j = 0; j < 3000; j++) { | |||||
for (int j = 0; j < 1; j++) { | |||||
this.track.timeElapse(50); | this.track.timeElapse(50); | ||||
} | } | ||||
} | } | ||||
} | |||||
} | |||||
@@ -1,11 +1,13 @@ | |||||
package de.hems.trafficsim; | package de.hems.trafficsim; | ||||
import java.util.ArrayList; | import java.util.ArrayList; | ||||
import java.util.LinkedList; | |||||
import java.util.List; | import java.util.List; | ||||
import java.util.Observable; | import java.util.Observable; | ||||
public class Track extends Observable { | public class Track extends Observable { | ||||
protected List<Vehicle> vehicles; | protected List<Vehicle> vehicles; | ||||
protected List<List<VehicleTimeRecord>> vtr_list; | |||||
public List<Vehicle> getVehicles() { | public List<Vehicle> getVehicles() { | ||||
@@ -15,6 +17,7 @@ public class Track extends Observable { | |||||
public Track(int numberVehicles) { | public Track(int numberVehicles) { | ||||
this.vehicles = createVehiclesList(numberVehicles); | this.vehicles = createVehiclesList(numberVehicles); | ||||
this.vtr_list = new LinkedList<>(); | |||||
} | } | ||||
protected List<Vehicle> createVehiclesList(int numberVehicles){ | protected List<Vehicle> createVehiclesList(int numberVehicles){ | ||||
@@ -27,7 +30,7 @@ public class Track extends Observable { | |||||
return result; | return result; | ||||
} | } | ||||
public void timeElapse(float timeStep) { | |||||
public void timeElapse(int timeStep) { | |||||
for(int i=0; i<vehicles.size();i++) { | for(int i=0; i<vehicles.size();i++) { | ||||
Vehicle v = vehicles.get(i); | Vehicle v = vehicles.get(i); | ||||
int forerunnerIndex = i + 1; | int forerunnerIndex = i + 1; | ||||
@@ -41,9 +44,12 @@ public class Track extends Observable { | |||||
} | } | ||||
v.updateVelocity(distanceForerunner); | v.updateVelocity(distanceForerunner); | ||||
} | } | ||||
List <VehicleTimeRecord> records = new ArrayList<>(vehicles.size()); | |||||
this.vtr_list.add(records); | |||||
for(Vehicle v: vehicles){ | for(Vehicle v: vehicles){ | ||||
v.timeElapse(50); | v.timeElapse(50); | ||||
VehicleTimeRecord vtr = new VehicleTimeRecord(v.id, v.position, v.curVelocity, timeStep); | |||||
records.add(vtr); | |||||
} | } | ||||
this.setChanged(); | this.setChanged(); | ||||
@@ -13,12 +13,14 @@ public class VehicleTimeRecord { | |||||
return timestep; | return timestep; | ||||
} | } | ||||
protected int id; | |||||
protected float position; | protected float position; | ||||
protected float velocity; | protected float velocity; | ||||
protected float timestep; | |||||
protected int timestep; | |||||
public VehicleTimeRecord(float position, float velocity, float timestep) { | |||||
this.position = position; | |||||
public VehicleTimeRecord(int id, float position, float velocity, int timestep) { | |||||
this.id = id; | |||||
this.position = position; //needed??? | |||||
this.velocity = velocity; | this.velocity = velocity; | ||||
this.timestep = timestep; | this.timestep = timestep; | ||||
} | } | ||||