А я тебе по секрету скажу, какие моменты надо в симуляторе такого рода предусматривать, чтобы потом не пришлось страдать некрофилией:
0. Ввести понятие стыка - точки с событийно контролируемым проследованием каждой колёсной парой. Это даёт возможность учитывать занятость любой достаточно протяжённой секции пути, как сумму колёсных пар на её субсекциях (сплайнах).
1. Организовать трансляцию кодов только до первой ездючины на пути. Это сложно и кодоёмко, но иначе непрерывные системы никак не сделать. Точечные системы передачи информации вешаются на события из п. 0.
3. Организовать обратную связь объектов с логикой СЦБ (взрез стрелки, например).
4. Секционирование КС - по принципу секционирования путей.
5. Нужен мощный и быстрый скриптовой движок с поддержкой ООП для программирования самой СЦБ. Примерно как в Метрострое, но только лучше и вкуснее!
6. Если СЦБ прогать чисто событийно (и массово пренебречь временнЫми параметрами схем), то оно не отожрёт много ресурсов, бо события в СЦБ не так уж и часты, это не физику ездючины считать. Ресурсы отожрёт передача кодирования, но и это можно продумать.
7. Ну и, соот-но, на всё это прогать отдельную морду для управления. Считаться оно должно исключительно на стороне сервера.
ЗЫ. Потом ещё диких детей учить, как в этой морде работать!
|