Exemple #1
0
        public Tram removeTram()
        {
            Tram tram = null;

            for (int i = 0; i < reserved.Count; i++)
            {
                if (reserved[i].working)
                {
                    tram = reserved[i];
                    reserved.RemoveAt(i);
                    break;
                }
            }

            if (tram == null)
            {
                for (int i = 0; i < trams.list.Count; i++)
                {
                    if (trams.list[i].working)
                    {
                        tram = trams.list[i];
                        tram.resetRoute();
                        break;
                    }
                }
            }

            if (tram != null)
            {
                trams.remove(tram);
                tram.removed = true;
            }

            return(tram);
        }
Exemple #2
0
        // Создает трамвай и добавляет его в резерв
        // Создает и передает радио трамваю
        public Tram addTram()
        {
            var tram = new Tram(tramIndex++ + 1, new Radio(repairStation));

            trams.add(tram);
            reserved.Add(tram);
            return(tram);
        }
Exemple #3
0
 // Помещает трамвай в список на починку, говорит депо снять его с линии
 public void repair(Tram tram)
 {
     if (tram.removed)
     {
         throw new Exception("Can't repair removed");
     }
     repair(tram, Rnd.Next(5) + 10, tramsInRepair);
     //depot.moveToReserved(tram);
 }
Exemple #4
0
        // Перемещает трамвай в резерв
        public void moveToReserved(Tram tram)
        {
            if (!reserved.Contains(tram))
            {
                reserved.Add(tram);
            }

            tram.resetRoute();
        }
Exemple #5
0
 // Сообщает в диспетчерскую о поломке пути
 public void brokeNotify(Route route, Tram tram)
 {
     repairStation.repair(route, tram);
 }
Exemple #6
0
 // Сообщает в диспетчерскую о поломке трамвая
 public void brokeNotify(Tram tram)
 {
     repairStation.repair(tram);
 }
Exemple #7
0
 // Конструктор создает водителя, сохраняет ссылку на трамвай и радио
 public Driver(Tram tram, Radio radio)
 {
     this.radio = radio;
     this.tram  = tram;
 }
Exemple #8
0
 // Помещает маршрут в список на починку
 public void repair(Route route, Tram tram)
 {
     repair(route, Rnd.Next(9) + 10, routesInRepair);
 }