в принципе, смотря как реализованы рельсы. Можно в принципе иметь скорость состава, и прибавлять ее к переменной l в типе Train. Потом нужно получать для каждого вагона его поворот и позицию через функцию, которая берет эту самую L, и возвращает их.
Походу это полная чушь, ибо послезавтра экзамен по вышке, и f(x) мой мозг пропитан