Как бы вы проектировали?

 
 
 
Сообщения:22
Задача: некий онлайн-жд симулятор, но с точки зрения диспетчера(дежурного по станции). Игроки играет на железнодрожном полигоне, который состоит из Сегментов (отражает физическое устройство участков пути), Секций (один или несколько сегментов, отражает участие в маршрутах движения, отражает занятость или свободность некоего участка пути), Путей прием-отправления (одна или несколько секций), Станций (конгломерат Сегментов, Секций, Путей).
---
Возник вопрос с конструированием полигона из файлов данынх в момент начала игры игроком. Т.к. игрок может коннектится-дисконнектится, конструирование полигона будет занимать некоторое время. Возникает желание расшарить полигон между игроками, что играют одновременно. Вопрос возник, к примеру, по Секциям. У них есть не просто изначальная конфигурация состояния из Сегментов, но они и меняют состояние по мере игры: была свободная, стала занятая; потом поезд проехал, снова свободная.
---
Делать сегменты неизмнными, а секции - клонировать? Но поезд едет по сегментам, и въезжая на сегмент, через сегмент узнает, к какой секции принадлежит сегмент, чтобы взвести статус занятости. Но у разных игроков разный статус Секций! Т.е. разные секции. Т.е. как-то не давать ссылки с сегментов на секции? Не хранить ссылки на секции в сегментах? Или же и клонировать сегменты?
---
Чет я запутался, может кто наведет куда.
 
 
Сообщения:975
для начала надо решить:
online : весь бэкэнд на сервере, игрок получает только картинку
semionline : обмен информацией по приходящим/уходящим поездам и по мелочи.
offline : игра полностью у игрока
offline + сервер : offline + обмен станциями, хранение хайскоров...
lan koop : semionline только по локалке.
впрочем часть из них можно скомбинировать или прикрутить параллельно.

дальше:
есть станция, она состоит из путей, стрелок, сигналов, платформ и подъездных путей.
задача игрока управляя стрелками и сигналами направить поезд от подъездного пути к нужной платформе, а, затем, к другому подъездному пути.

дальше:
тут у нас несколько нетипичный граф. рёбра это пути, некоторые из них являются ещё и платформами. (наследование? интерфейс?). узлы(стрелки) соединяют 3 пути, причём один из них прикручен намертво, а из оставшихся двух только один имеет связь, а другой нет и это может меняться.

поезд. у него имеет смысл хранить положение головы и хвоста. на стрелках голова ставит флаг (поезд едет) а хвост этот флаг убирает.

надеюсь это помогло.
Изменен:19 янв 2020 07:29
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет