// Обновляет состояние трамвая public override void update() { printStatus(); // Трамвай неисправен или стоит в депо if (route == null || !working) { return; } // Событие поломки if (Rnd.Next(100) < 4) { working = false; } // Даем водителю проверить состояние трамвая и маршрута // Если все ок, движемся по маршруту if (driver.checkTram() && driver.checkRoute()) { updatePosition(); } }
// Помещает маршрут в список на починку, говорит депо снять трамвай с линии public void repair(Route route, Tram tram) { repair(route, Rnd.Next(9) + 2, routesInRepair); depot.moveToReserved(tram); }
// Возвращает случайную остановку public string getFirstStop() { return(stops[Rnd.Next(stops.Count())]); }
// Помещает трамвай в список на починку, говорит депо снять его с линии public void repair(Tram tram) { repair(tram, Rnd.Next(4) + 2, tramsInRepair); depot.moveToReserved(tram); }