Example #1
0
 /// <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];
 }
Example #2
0
        /// <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);
        }