Предложение: триггерная логика между сигналами.

Вопросы разработки OpenTTD, обсуждение новых сборок и патчей, решение проблем новых версий.

Модераторы: Smoky555, Группа модераторов

Сообщение Q » Пн мар 10, 2008 02:35

Оборотень писал(а):Массив сигналов будет создаваться по мере постройки линии и сигналов на ней. Точнее (подумав) даже не массив, а связанный двунаправленный список. Так прощще обрабатывать связи между сигналами; проще изменять содержимое списка при постройке и удалении сигналов. Структуру списка щас обдумываю.

Все-таки сигнал может зависеть от нескольких триггеров, поэтому каждый сигнал должен хранить массив (точнее, ссылку на массив) своих "управляющих триггеров". В случае большого СБ логично хранить один массив на все сигналы входящие в СБ. Аналогичным образом, триггер должен помнить ссылку на массив своих "управляемых сигналов". Функция обсчета значений триггеров (для вычисления значения сигнала) определяется видом сигнала (и, возможно, видом триггеров, если они тоже сигналы). если очень хочется, пожалста, каждый сигнал еще помнит каким-то образом свою функцию обсчета. Вероятнее всего, функция хранится тоже как некоторый массив операций.

Оборотень писал(а):Нахождение поезда в СБ... А ХЗ, надо это обсчитывать, тем более, алгоритмы поиска пути всякие, в которых не разбирался пока. Надо изучить матчасть...

Обсчитывать может и не надо, если каким-то образом уметь определять это наличие без обсчета. Но лучше вначале придерживаться логики "<=1 поезда в СБ", а уже потом навешивать всякие ПБС-подобные обработки. ИМХО так проще разрабатывать.
Если красный зажигают, значит это кому-нибудь нужно
Аватара пользователя
Q
Диспетчер
Диспетчер
 
Сообщения: 174
Зарегистрирован: Вс апр 03, 2005 23:07
Откуда: Москва, Солнцево

Re: Предложение: триггерная логика между сигналами.

Сообщение constructor » Чт янв 01, 2009 22:55

Поддерживаю предыдущий пост.
Это стратегия, а не симулятор.

Вот почему никого не парит, что поезд едет под 400, а потом каждый вагон мгновенно поворачивается на 45 (если не на 90)? Даже если за полсекунды, -- Это же центрифуга получается, пассажиров по окнам размажет.

Пожалуй, если этим заморачиваться -- без желтого сигнала не обойтись. А на скоростных дорогах придется вводить целую гамму -- как на настоящих.
И еще один важный момент, на примере с перекрестком -- реальными светофорами управляют люди и специальные "умные программы" -- это же какой АИ придется громоздить? Тогда еще и "стрелки" вводить -- ведь куда ехать строго говоря решает не поезд :lol:
constructor
Директор
Директор
 
Сообщения: 312
Зарегистрирован: Ср окт 25, 2006 20:40
Откуда: Москва

Пред.

Вернуться в Разработка OpenTTD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

cron