/// <summary> /// Creates a carpark /// </summary> public Carpark(ref CarQueue[] queues, ProgressBar progressBar, int slots) { this.queues = queues; this.progressBar = progressBar; this.Random = new Random(); this.status = new Status[slots]; this.parkedCars = new Car[slots]; }
/// <summary> /// Start the simulation /// </summary> private void Start() { queues = new CarQueue[4]; queues[0] = new CarQueue("West", westProgress); queues[1] = new CarQueue("East", eastProgress); queues[2] = new CarQueue("North", northProgress); queues[3] = new CarQueue("South", southProgress); carpark = new Carpark(ref queues, carParkProgress, 500); tasks[0] = Task.Factory.StartNew(carpark.Run); tasks[1] = Task.Factory.StartNew(queues[0].Run); tasks[2] = Task.Factory.StartNew(queues[1].Run); tasks[3] = Task.Factory.StartNew(queues[2].Run); tasks[4] = Task.Factory.StartNew(queues[3].Run); }