Structure of the programΒΆ
The simulation is an agent based simulation based on the Car object
controlled by the Road. These are covered in more detail here:
The Road contains a list of car objects that it controls. This is
initialised by calling Road.add_car with starting parameters for the car.
To advance a time-step in the simulation the Road calls Car.update_postion
for each car in its list by providing it with the position of the car in-front,
starting with the one at the front of the queue.
The Car then decides how far it will advance and returns the new position to
the Road.
At the end of the simulation, the Road polls all Car instances to get
their history_postion_array, and combines this into a data-frame to be used
in plotting.