Попробуй по-другому "обыграть".
state = 0;
if ( !enabled )
state = -1;
Тогда путь не должен будет заходить за сигнал. ИМХО -- выигрывает с точкой разворота перед сигналом. Если завести её за сигнал, после освобождения занятой части пути, твой поезд "пропутешествует" на вторую половину. А так -- поедет назад с остановки.
|