Оборотень писал(а):Массив сигналов будет создаваться по мере постройки линии и сигналов на ней. Точнее (подумав) даже не массив, а связанный двунаправленный список. Так прощще обрабатывать связи между сигналами; проще изменять содержимое списка при постройке и удалении сигналов. Структуру списка щас обдумываю.
Все-таки сигнал может зависеть от нескольких триггеров, поэтому каждый сигнал должен хранить массив (точнее, ссылку на массив) своих "управляющих триггеров". В случае большого СБ логично хранить один массив на все сигналы входящие в СБ. Аналогичным образом, триггер должен помнить ссылку на массив своих "управляемых сигналов". Функция обсчета значений триггеров (для вычисления значения сигнала) определяется видом сигнала (и, возможно, видом триггеров, если они тоже сигналы). если очень хочется, пожалста, каждый сигнал еще помнит каким-то образом свою функцию обсчета. Вероятнее всего, функция хранится тоже как некоторый массив операций.
Оборотень писал(а):Нахождение поезда в СБ... А ХЗ, надо это обсчитывать, тем более, алгоритмы поиска пути всякие, в которых не разбирался пока. Надо изучить матчасть...
Обсчитывать может и не надо, если каким-то образом уметь определять это наличие без обсчета. Но лучше вначале придерживаться логики "<=1 поезда в СБ", а уже потом навешивать всякие ПБС-подобные обработки. ИМХО так проще разрабатывать.