[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Пытаюсь замутить свой симулятор.
V9Дата: Суббота, 02.11.2024, 04:44 | Сообщение # 401
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Оффтоп. Я прошел Java! 
Вот кусок кода:

Он вынесен в отдельный блок, который, в принципе, не нужен. Можно поперетаскивать все строки выше и все должно продолжить компилироваться. Но при попытке вытащить из этого блока хотя бы одну строку:

... программ просто перестает компилироваться:


Метод(функция, процедура) получился(-лась) слишком большой и Java-компилятор просто не может его(ее) откомпилировать.

Тут надо отметить, что это я не веду "нормальную разработку", а прикалываюсь. 
  • Разрабатываю в старой Java еще 25 лет давности, в которой не были вылечены детские болезни (на чем регулярно прокалываюсь, надо признать!)
  • Свалил весь код(программу) в один-единственный метод.

Переходом на более высокий релиз Java или же разумной декомпозицией можно решить данную проблему легко и просто.
Прикрепления: 5441420.png (60.3 Kb) · 4475428.png (42.6 Kb) · 7469297.png (22.5 Kb)
 
olegpersh999Дата: Воскресенье, 03.11.2024, 11:05 | Сообщение # 402
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
V9, А можно как-то поменять время стоянки в Сургуте по смене лок.бригады? а то поезд прибыл и через 10 минут уже готов
 
V9Дата: Воскресенье, 03.11.2024, 13:10 | Сообщение # 403
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата olegpersh999 ()
V9, А можно как-то поменять время стоянки в Сургуте по смене лок.бригады? а то поезд прибыл и через 10 минут уже готов
Привет! Да, можно! Какой период стоянки интересует?

Ps. Объясню, почему период сделан малым у меня в доработке. В оригинале Zork поставил примерное время, Сколько грузовой обрабатывается по Сургуту. Однако, в Сургуте не один приемо-отправочный парк , а два - северный и южный. В северный у нас выставляются поезда с сортировки и готовятся к отправлению, а также обрабатываются транзитные поезда на юг. В южный же парк принимаются поезда с юга под разборку на сортировку, а также транзитные на север. При этом, часто в транзитных на север не меняются тепловозы, а только бригады.  Когда я работал, я однажды принимал поезд со сменой на путях в южном парке, тепловоз был с Тюмени. Мы отвезли вертушку щебня в УЯ, там ее вытряхнули и привезли обратно в Сургут. В Сургуте у нас другая бригада так же приняла на путях и угнала вертушку на юга. Я не скажу, какая доля поездов с Войновки сортируется в Сургуте, а какая - транзитно едет дальше, предположу, что около половины тех и других. У меня где-то видео есть, как два грузовых поезда отправляются с южного парка друг за другом на север через северный парк.

И вот чтобы смоделировать наличие южного парка, которого у нас в симуляторе нет, я и "зарезал" время обработки.

Но мне несложно сделать и еще версию с более долгой стоянкой грузовых.
 
olegpersh999Дата: Воскресенье, 03.11.2024, 17:42 | Сообщение # 404
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
Цитата V9 ()
Привет! Да, можно! Какой период стоянки интересует?
с 35 минут до часу в разброс. У меня на участковой станции было 37 минут, но обычно по разному было в зависимости от того как примется бригада)
 
V9Дата: Понедельник, 04.11.2024, 15:23 | Сообщение # 405
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата V9 ()
Оффтоп. Я прошел Java!
 В общем, временно остановился. Когда я начинал разработку. я сам себе сделал ограничения "по приколу":
  • Разработка в java 1.0.
  • Разработка в одном файле (нельзя делать другие классы).
  • Разработка в одном методе (функции).

Эти самоограничения сделали саму разработку нечеловечески трудной так как требовали подчиняться глючной 1.0 и запрещали структуировать данные. И, вдобавок, для версии 1.0 нет интегрированных сред разработки (IDE). Разработка ведется буквально в блокноте. Все отладки только путем печати сообщений на консоли. Сколько там всякого мною было придумано, чтобы работать в этих ограничениях - не перечесть!

Все хорошее заканчивается, java 1.0 более не может компилировать мой файл с моим методом. Придется отказываться от какого-то из ограничений, от какого именно из трех самограничений - я пока не решил. 
wacko
 
V9Дата: Суббота, 09.11.2024, 16:39 | Сообщение # 406
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
В общем, я решил отказаться от стратегии "все в одном методе(функции)". Задача стала еще сложней так как инфа теперь не в одном методе (функции), а раскидана по разным методам (функциям) и требуется постоянно продумывать передачу инфы туда-обратно.

upd. 2024-11-10. Подготовлен релиз 0.2.3.19. В этом релизе будет очень сильно ограничен пользователь в режиме DSim вводить команды "от фонаря". Потом покажу скрины, что можно было творить раньше, что не получится сейчас. Сейчас код сильно переписан и код контролирует то, что ввел пользователь на предмет "адекватности". Релиз не выкладывается, так как хочу подготовить "скрипты" условного мира. Планируется, что будет добавлен участок Демьянка—Куть-Ях и заполнено расписание по всем трем участкам. Это позволит пользователям собирать большой участок Демьянка—НВ1 (или сокращенный из этих трех участков) и играть на нем.


Сообщение отредактировал
V9 - Воскресенье, 10.11.2024, 14:28
 
V9Дата: Среда, 13.11.2024, 07:42 | Сообщение # 407
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Релиз 0.2.3.19

Сразу скажу: багов много, я их вижу, я их буду устранять. Но если хотите, можете поискать другие, вы, думаю их найдете.

Основная цель релиза была сформулирована в сообщении от 16.09: "Сократить возможность игрокам творить лютую дичь в режиме симулятора". Задача кое-как решена, творить дичь теперь сложнее. Основная инструкция по установке сформулирована в посте 389 от 14.09. Тут немного уточним:
  • Для режима DSim копировать приложенные файл DSim, s.0.1 (Игра на одиночном полигоне и g.0.1 (Игра на графе полигонов) в отдельный каталог без файлов Пульта Нева. Туда же скопировать JDK0 из сообщения #57 от 17.12.2023. этой ветке форума.
     
  • Установить 7-zip (Если нет), и распаковать некоторые файлы через правую клавишу мыши "Распаковать здесь":

  •  Надо обязательно распаковать JDK0 и Dsim. А вот с файлами S.0.1 & D.0.1 (это скрипты), надо выбрать. Если хотите пробовать играть на одиночных полигонах Сургут—НВ1 и Куть-ях—Сургут, надо распаковать S.0.1 (Singles). Если хотите попробовать поиграть на объединенном полигоне Куть-ях—НВ1 - то G.0.1 (Graph (Граф данных)).
  • Если вы распаковали Граф, то, по идее, одиночные полигоны не запустятся (хотя не проверял). 
  • Запуск одиночных полигонов через DSim1.bat и Dsim2.bat. Запуск графа - DSim1_2.bat.

  • Иногда наблюдается баг отрисовки: полигон не рисуется до конца.

    Это ошибка java 1.0, надо окошко дернуть по ширине, отрисуется.
  • В скриптах "набито" поездное состояние на 01:00 и еще набит один час, до 02:00 включительно, "приказами".
  • Если запустить Dsim и ничего не делать, один час поезда будут ехать "сами", графики будут обновляться. 
  • Наблюдая за графиками НГДП из Пульт Нева, можно "двигать" поезда после 02:00
  • Передвижение делается путем отдачи команд в окне управления

  • Примеры команд приведены выше, набиваем вручную: номер поезда,'/',ID поезда, станция отправления(начального проследования),'>', станция прибытия, пробел, (четыре цифры время приказа)
  • Станции набиваем по трем буквам в ГИДе Dsim. Номера путей можно посмотреть в Пульте Нева, путь пишем после имени станции через запятую. Если в парке есть литера 'a', то она набивается как латинская 'a', если в пульте номер пути Римскими цифрами, то так и набиваем. Т.е. мы работаем в английской раскладке и не меняем раскладку.
  • У каждого поезда должен быть уникальный ID, это чтобы различать поезда разных дней. ID Цифровой, просто добавляем по единичке к каждому следующему поезду, что вводим на полигон. Начальные номера хранятся в файле OpenOffice (надо продолжить в след посте....)
Прикрепления: 0508318.png (17.8 Kb) · 9528390.png (19.8 Kb) · 8698202.png (17.7 Kb) · 3916020.png (23.2 Kb) · 6779551.png (11.6 Kb)
 
V9Дата: Среда, 13.11.2024, 07:59 | Сообщение # 408
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline


Примеры команд:
Отправить поезд 940 с ID 17 со станции Пыть-Ях с третьего пути в 03:57:
940/17 pyt,3> 0357
То же самое с первого главного:
940/17 pyt,i> 0357

Отправить 940 с ID 17 со станции Пыть-Ях с третьего пути в 03:57 с остановкой по Пучипу по перегонному времени:
940/17 pyt,i>puc,i 0357

940й отправится и будет следовать по перегонному времени. Но если нам надо уточнить, во сколько точно надо прибыть (А должен он прибыть в 04:17), то вводим две команды:
940/17 pyt,i> 0357
940/17 >puc,i 0417

Первая команда отправит с 1го главного, вторая предпишет прибыть не ранее указанного срока на 1й главный

Добавление "+" перед названием станции заставит поезд проследовать ходом:
390/13  >+Tan,i 0150 

"Поезду 390(ID 13) предписано проследовать Тангинский в 01:50"

2806/16 +igl,i>+obs,i 0248 

"поезду 2806(16) предписано проследовать ходом Игль по главному и далее ходом следовать до Обского, который тоже проследовать ходом"

2806/16 +igl,i>sur,4 0248 

"поезду 2806(16) предписано проследовать ходом Игль по главному и далее ходом следовать до Сургута с остановкой на 4м пути"

2806/16 aiy,3>sur,4 0228 

"поезду 2806(16) предписано отправиться с Ай-Яуна  с третьего пути в 02:28 и далее ходом следовать до Сургута с остановкой на 4м пути"
Прикрепления: 8680837.png (7.2 Kb) · dsim_0_2_3_19.zip (69.6 Kb) · s_0_1.zip (39.1 Kb) · g_0_1.zip (39.2 Kb)
 
olegpersh999Дата: Среда, 13.11.2024, 17:09 | Сообщение # 409
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
V9, надо еще какой-нибудь текстовый документ с горячими клавишами для ГИДа. А то искать по постам как и что нажимается тяжело)
 
olegpersh999Дата: Среда, 13.11.2024, 17:09 | Сообщение # 410
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
Ну и в надеждах на исправление
Прикрепления: 6924749.png (14.2 Kb)
 
olegpersh999Дата: Среда, 13.11.2024, 17:11 | Сообщение # 411
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
Я про нитки пассажирских нормативные. На определенные сутки бывает идет 324 пассажирский, а в нормативном 147. Как бы это не критично, но вот почему нитка становится нечетной...
 
V9Дата: Четверг, 14.11.2024, 04:23 | Сообщение # 412
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата olegpersh999 ()
Ну и в надеждах на исправление
Спасибо, что напомнил, обязательно в следующем релизе будет исправлено!
Цитата olegpersh999 ()
V9, надо еще какой-нибудь текстовый документ с горячими клавишами для ГИДа.
 Тоже сделаю к следующему релизу!

По идее, след релиз будет к выходным, изменение будет минимальное: игроку будут добавлены команды по формированию и расформированию поездов с отражением в графике.
 
olegpersh999Дата: Четверг, 14.11.2024, 09:26 | Сообщение # 413
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
Цитата V9 ()
по формированию и расформированию
вот этот момент не понятен. Формировать вроде и так можно, а вот расформировывать нет
 
V9Дата: Четверг, 14.11.2024, 09:51 | Сообщение # 414
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата olegpersh999 ()
вот этот момент не понятен. Формировать вроде и так можно, а вот расформировывать нет
Это не для режима симуляции в Пульте Нева, это для режима симуляции в DSim, вон выше команды набирать. Сейчас можно отправить любой поезд. А будет контроль, чтобы можно было отправить только прибывший или выставленный. И, аналогично, сейчас прибывший поезд "зависает" на пути приема. А по команде расформирования можно будет его убрать с пути.

Следующим этапом, видимо, будет формирование графиковых подходов. Потом - внеграфиковых. Потом, скорей всего, клиент-серверная сетевая архитектура (или же SQL архитектура) в рамках перехода на физическую модель мира и возможности мультиплеера в нем. Ну и т.д.

Upd. Параллельно будут донастраиваться скрипты и добавляться полигоны. Обязательно будут добавлены полигоны Демьянка—Куть-Ях, Тобольск—Демьянка и Ульт-Ягун—Пурпе.


Сообщение отредактировал
V9 - Четверг, 14.11.2024, 09:53
 
olegpersh999Дата: Четверг, 14.11.2024, 13:25 | Сообщение # 415
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
Цитата V9 ()
И, аналогично, сейчас прибывший поезд "зависает" на пути приема
почему зависает? идет время на расформирование поезда. По идее по прибытию на станцию расформирования, поезд обрабатывается вагонниками, для нахождения не годных вагонов под погрузку или дальнейшего формирования, потом уже распускается состав на горке либо толчками, либо еще как-нибудь. В зависимости от количества вагонов в составе время обработки меняется. У меня на станции только 2,5 часа поезд смотрится вагонниками, а еще минут 30 распускается. Так обычно от 82 до 100 вагонов. Поэтому в игре в принципе это значение адекватно по времени
 
V9Дата: Четверг, 14.11.2024, 15:18 | Сообщение # 416
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата olegpersh999 ()
почему зависает? идет время на расформирование поезда.
О разных вещах толкуем, видимо. =) Сейчас у нас два режима:
  • Пульт Нева + ГИД от DSim + Archivist + Extend train + Startup (случайные поезда ручной генерации).
  • Shed + DSim. Shed предназначен для заполнения скриптов исполненного движения, DSim - кривой режим симуляции уже с моего сима, позволяет "играть" на одном или на группе полигонов пути, в одно лицо или в мультиплеере.


upd. Режим GID позволяет использовать несколько мониторов или же несколько компьютеров. Можно запустить DSim или же Пульт нева на одном компе, а смотреть ГИД - на другом.

Вот режим "формирования"/"расформирования" добавляется в режим DSim. Сейчас игрок не может, приняв поезд, дать команду его "расформировать" т.е. снять с пути. И не может заранее "сформировать", заняв путь. Планирую добавить команды для формирования/расформирования. Соответственно, поезд может быть отправлен только если он до этого "сформирован".

К режиму Пульт НЕВА + GID будут только исправляться ошибки, и, может, будет добавлено два режима:
  • показывать часть станций полигона. Позволит использовать несколько мониторов компьютера. На одном ГИДе полполигона, на втором — другая половина полигона, на третьем - другой полигон и т.п. Типа, один фрейм — участок Сургут—У-Я, на другом фрейме — У-Я — НВ1
  • Сделать режим "толстых нитей" и "крупного текста". Текущие нити и текст тонкие, но когда втиснут "один полигон" на экран по другому не получится. Если у нас есть возможность "рассекать" ГИД на части полигона, у нас появляются большие промежутки между станциями, куда можно писать текст большими буквами.


А все остальное развитие будет идти в парадигме DSim'a.


Сообщение отредактировал
V9 - Четверг, 14.11.2024, 15:32
 
V9Дата: Четверг, 14.11.2024, 15:29 | Сообщение # 417
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата olegpersh999 ()
У меня на станции только 2,5 часа поезд смотрится вагонниками, а еще минут 30 распускается. Так обычно от 82 до 100 вагонов. Поэтому в игре в принципе это значение адекватно по времени
На разных станциях по разному. 

Цитата
Обслуживание вагонов на ПТО сортировочной станции (рис. V.1) начинают с проверки технического состояния вагонов в парке прибытия и выявления неисправностей, которые могут быть устранены только при отцепочном ремонте, с подачей вагонов на специально выделенный путь или в депо. Продолжительность осмотра вагонов в этом парке не должна превышать 15 мин.

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

В парке отправления выполняют контрольный технический осмотр и работы по ремонту и замене неисправных узлов и деталей вагонов без отцепки от составов по разметкам, сделанным осмотрщиками в парках прибытия и сортировочном, а также при осмотре в парке отправления. Продолжительность обработки состава 30 мин.
http://scbist.com/zh-d-stati/11497-rabota-punktov-tehnicheskogo-obsluzhivaniya-vagonov-na-sortirovochnyh-i-uchastkovyh-stanciyah.html

Нормы времени обслуживания:

Цитата
2. Установить единый норматив времени на техническое обслуживание грузовых поездов работниками пунктов технического обслуживания на внеклассных участковых станциях в парках прибытия 30 минут, в транзитных и парках отправления 45 минут без учета сокращенного опробования автотормозов.
https://rulaws.ru/acts/Rasporyazhenie-OAO-RZHD-ot-24.04.2012-N-815r/

Единственно, где в Пульте Нева это используется - это по НВ1. Там можно настроить время расформирования. Было 3..5 часов, я переделал в своих доработках до 1..3 часа чтобы парк быстрей освобождать. Можно переделать обратно на 3..5 часов или как-то иначе.
 
olegpersh999Дата: Пятница, 15.11.2024, 04:00 | Сообщение # 418
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
Цитата V9 ()
Единственно, где в Пульте Нева это используется - это по НВ1. Там можно настроить время расформирования. Было 3..5 часов, я переделал в своих доработках до 1..3 часа чтобы парк быстрей освобождать. Можно переделать обратно на 3..5 часов или как-то иначе.
не надо. Пусть так будет. У меня почти 3 часа смотрятся и так. Слишком бывает большой подход на Нижневартовск. Крайний подход был такой, что каждая станция и разъезд имело по несколько поездов на Нижневартовск. Так например 2 поезда по неприему стояли в Н-ске 2, 4 поезда в  Мегионе, 2 поезда в Урьевском, 4 поезда в Лангепасе (иногда 5), 2 поезда (иногда 3) в Чумпасе, 4 (иногда 5) поездов в Ульт-Ягуне и забит 2 путь четными перегона Сурмятин - Вач-Ягун.  Просто везде сплошной коридор) хоть трехпутку делай))
 
V9Дата: Понедельник, 18.11.2024, 23:25 | Сообщение # 419
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline

Первый сборный был сформирован по Cургуту и отправился на юг. Он же на северном участке:


Релиз не выкладывается так как будут еще тестирования во всех возможных вариантах движения. Кроме того, к Олегу просьба упаковать мне свой каталог territory\1 с ошибочным расписанием. Чет у меня не воспроизводится ошибка на моих гидах.
Прикрепления: 7788191.png (3.5 Kb) · 8425914.png (2.3 Kb)
 
olegpersh999Дата: Вторник, 19.11.2024, 16:01 | Сообщение # 420
Начальник станции
Группа: Пользователи
Сообщений: 197
Награды: 3
Репутация: 0
Статус: Offline
Цитата V9 ()
Первый сборный был сформирован по Cургуту и отправился на юг. Он же на северном участке:
в смысле сам сформировался и поехал без ввода в формул?
 
Поиск: