[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Пытаюсь замутить свой симулятор.
ilyxapd321Дата: Пятница, 24.01.2025, 21:02 | Сообщение # 481
Составитель поездов
Группа: Пользователи
Сообщений: 9
Награды: 0
Репутация: 0
Статус: Offline
V9, как установить подскажи пожалуйста
 
olegpersh999Дата: Среда, 05.02.2025, 17:20 | Сообщение # 482
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
Ура, сайт вернули!!!)))
V9
, снова нужна помощь, а заново начинать не хочу. Создался небольшой затор на участке. Можешь посмотреть?
Прикрепления: 1_0802_0430.7z (267.2 Kb)
 
V9Дата: Среда, 05.02.2025, 18:38 | Сообщение # 483
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
Цитата olegpersh999 ()
V9, снова нужна помощь, а заново начинать не хочу. Создался небольшой затор на участке. Можешь посмотреть?
Починил. У тебя Пульт Нева вкинул на северный участок три нечетных.
Прикрепления: oleg.7z (5.6 Kb)
 
V9Дата: Среда, 05.02.2025, 18:38 | Сообщение # 484
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
Цитата ilyxapd321 ()
V9, как установить подскажи пожалуйста
Завтра отпишусь.
 
olegpersh999Дата: Четверг, 06.02.2025, 05:28 | Сообщение # 485
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
V9, спасибо большое)))

Добавлено (04.06.2025, 18:33)
---------------------------------------------

Цитата V9 ()
Релиз 0.2.6.1.Особенность релиза - добавлен новый батник DisbandTrainAtNV1. С его помощью вы сможете удалить один из "заклинивших" поездов по НВ1. Такое бывает если забить грузовой парк четными грузовыми поездами. В этот момент Симулятор Нева выставляет в тупик нечетный маневровый поезд и все клинит. Чтобы выехать нечетному, нужен свободный путь в парке, а пути заняты. А чтобы освободить один путь в парке, нужно убрать четный с парка в тупик, а там сидит маневровый.

Чтобы симуляторщики не "абьюзили" там делается много проверок.
1. Проверяется, что все поезда стоят (вот для чего требовалось "хакать" save.sav)
2. Проверяется, что все поезда четные.
3. Проверяется, что все четные поезда уже получили статус "маневровых" - т.е. "готовых к уборке в тупик".
4. Проверяется, что в тупике сидит нечетный и мешает уборке..
Подскажи в итоге какой код писать в этом батнике чтобы расформировать состав в НВ1?
 
skiff4832Дата: Четверг, 05.06.2025, 16:43 | Сообщение # 486
Маневровый диспетчер
Группа: Пользователи
Сообщений: 49
Награды: 0
Репутация: 0
Статус: Offline
Это чево? Новый релиз0.2.6.1?
 
V9Дата: Суббота, 28.06.2025, 17:41 | Сообщение # 487
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
Посмотрел, как я мало делал дел за полгода sad
 
olegpersh999Дата: Суббота, 28.06.2025, 18:23 | Сообщение # 488
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
V9, расскажи хоть что делаешь?)) может как-то помочь можно
 
V9Дата: Суббота, 28.06.2025, 20:41 | Сообщение # 489
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
Цитата olegpersh999 ()
V9, расскажи хоть что делаешь?)) может как-то помочь можно
1. В данный момент полигон "зашит" в самой проге. Тут мы видим те имена станций, что демонстрирует ГИД:


Там же сведения по перегонам (сделано неправильно, надо будет переделать).

Нужные сведения о номерах станций хранится в секции Data_Stanz:


Из кодов станций можно в нижней секции [DataS_Stanz_Name]  можно выяснить имена станций. Вот сейчас я делаю загрузку [Data_Stanz], чтобы прояснить коды станций. Будет допсекция коротких наименований на кириллице и латинском. Это позволит ГИДу читать имена станций из файлов.
2. Далее добавляем чтение перегонов и перегонных ходов времени.
3. Это даст возможность создавать другие полигоны. Сведения будут браться только из файлов данных, движок будет опираться на них.
4. Следующим этапом будет добавление в физический движок функции, чтобы он писал в GID.txt (это файл, откуда ГИД берет сведения для отрисовки) специальных временных марок "занятие пути приема поездом" и "освобождение пути приема поездом".
5. Это позволит добавить Зеленый Пульт. Он не будет рисовать "красиво" (на данном этапе), но будет показывать занятость путей. Это же позволит уточнить его поведение, он не будет принимать поезда на занятый путь и т.п.
6. К Пульту прикручу возможность отправлять/принимать поезда с него. Он будет писать в файлы приказы (как это можно делать сейчас вручную), а движок их будет исполнять. Получим криво-косой функционал Пульта Нева.

Весь функционал не расширяет пока никаких возможностей работы с Пультом Нева от Зорка.

По пути где-то планируется добавить в ГИД возможность показывать только часть участка полигона. Это позволит "Делить" ГИД на несколько окон. На каждом окне (в разных мониторах/компах) будет возможность смотреть часть ГИДа.

ps. Я просил Zork'а вернуть старый вариант GID.txt, где каждая запись писалась полностью, со всеми параметрами поезда. Если он вернет, в мой ГИД будет добавлен функционал расчета параметров движения: тонно-километры перевезенного груза, расход условного топлива, раскраска ниток в зависимости от станции назначения состава и т.п. Сейчас этой информации нет в GID.txt нет.

Добавлено (30.06.2025, 17:31)
---------------------------------------------
Оффтоп. Часто встаю перед вилкой, когда есть два варианта действий, и оба имеют свои плюсы и минусы и неочевидные, и нет возможности сделать осознанный выбор. Сейчас у меня разбор data.dat(dsim.dat), где у меняе вилка из двух вариантов:

  • Читать и разбирать последовательно, вылавливая нужные на данном этапе куски информации(все куски не нужны). Достоинство: это заготовка под будущее "полное" чтение, а так же это возможность чтения данных файлов по сети, с чтением по мере поступления данных, а также легкая ситуация подсказать пользователю, в какой строке текста ошибка. Еще достоинство, что можно держать в памяти лишь небольшой кадр текста. перезаписывая его по мере поступления данных. Недостатки. Нужно будет уметь обрабатывать ситуацию "оборванная строка", когда при передаче файла по сети , пришел кусок файла и строка "разорвана". Нужно прекращать разбор и быть готовым вернуться обратно, перенеся начало строки в начало кадра и дочитать кадр. Кроме того, нужен минимальный разбор даже тех кусков, которые я на данном этапе не планирую обрабатывать.
  • Читать файл в память и искать нужные куски поиском. Недостатки. Замедляется загрузка: нужно загрузить весь файл. Может потребоваться многократное пересоздание места для хранения файла в памяти. Нет возможности сказать пользователю в какой строке ошибка, только - в каком смещении от начала файла ошибка.

Как вы делаете выбор в таких ситуациях?

Добавлено (30.06.2025, 17:35)
---------------------------------------------
Хм. Отредактировать-то невозможно! В общем, во втором случае есть достоинство: можно поиском искать нужные секции в нужном для разбора порядке и разбирать их. Это полное сравнение как разбор .xml файла может быть сделан по методу SAX (это мой первый вариант) и DOM (второй вариант). SAX - быстрый, но программист делает разбор последовательно и не знает, что придет следующим. DOM - грузит весь файл в память (отчего память будет сожрана), но можно "гулять" по файлу, читая нужные нам данные в нужном нам порядке.

Добавлено (10.07.2025, 20:03)
---------------------------------------------
Давным давно сделал ошибку. Так как делал сим на основе участка Сургут-НВ1, а там все перегоны однопутные, то и заложил в свой симулятор конструкцию, что между двумя станциями может быть один перегон с перегонными временами хода в четном и нечетном направлении. А их может быть и два, и три и более. И скорости могут быть разными. И перегонные времена тоже. То есть надо перерабатывать как-то код, чтобы учесть возможность двух- и многопутных перегонов. Сейчас, когда я начал делать загрузку данных из файлов, я уперся в это. Ранее сведения были "забиты" "жестко" в код. 

И тут еще одна проблема. Сейчас вся прога - один-единственный класс-объект. Так как нет других класс-объектов, то нет возможности легкой абстракции в коде. Нет возможности создать "объект-перегон". Вся инфа хранится в разного рода массивах простых типов класс int, char, String. Позже будет переделываться на объекты. Если сделать сейчас на массивах чисел множества перегонов надо будет перелопатить код, чтобы научить работать на разных путях одного перегона. А потом еще раз переделать весь код на объекты.

Прикрепления: 0094589.png (23.0 Kb) · 7250247.png (33.1 Kb)


Сообщение отредактировал
V9 - Суббота, 28.06.2025, 20:56
 
olegpersh999Дата: Пятница, 11.07.2025, 17:00 | Сообщение # 490
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
Ошибка: Неверный формат файла загрузки. Что может означать?
 
V9Дата: Пятница, 11.07.2025, 18:04 | Сообщение # 491
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
Цитата olegpersh999 ()
Ошибка: Неверный формат файла загрузки. Что может означать?

скорей всего речь о кривом data.dat,и мы в процессе запуска pult.exe. Верно?

Добавлено (11.07.2025, 18:06)
---------------------------------------------


Код
java.lang.NoClassDefFoundError: sun/tools/asm/SwitchData
        at sun.tools.tree.SwitchStatement.code(SwitchStatement.java:158)
        at sun.tools.tree.CompoundStatement.code(CompoundStatement.java:137)
        at sun.tools.javac.SourceField.code(SourceField.java:406)
        at sun.tools.javac.SourceField.code(SourceField.java:368)
        at sun.tools.javac.SourceClass.compileClass(SourceClass.java:564)
        at sun.tools.javac.SourceClass.compile(SourceClass.java:527)
        at sun.tools.javac.Main.compile(Main.java:193)
        at sun.tools.javac.Main.main(Main.java:289)
error: An error has occurred in the compiler; please file a bug report (java-bug
[email protected]).


С размаху, двумя ногами, влетел в какую-то ошибку компилятора Java, изза чего код перестал компилироваться. Фигня вопрос, исправлю "switch" на "if", но приколы доставляют. =) Чем дальше, тем тяжелей писать так как постоянно во что-то вляпываешься. =)
 
olegpersh999Дата: Суббота, 12.07.2025, 06:02 | Сообщение # 492
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
Да я pult.exe не могу запустить. Выдает эту ошибку. Да как раз был в симуляторе и вырубили свет. Теперь не запускается
 
V9Дата: Суббота, 12.07.2025, 09:02 | Сообщение # 493
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
Цитата olegpersh999 ()
Да я pult.exe не могу запустить. Выдает эту ошибку. Да как раз был в симуляторе и вырубили свет. Теперь не запускается
1. Скопируй каталог с пультом и всеми потрохами.
2. Удали в скопированном в territory\1\ все savXX.sav файлы, а так же все .bmp файлы, кроме pult.bmp. Можно оставить три файла - data.dat, pult.bmp, pult.ini.
3. Запусти pult.exe

если pult.exe не запустился, значит побился data.dat. Нужно брать откуда-то, типа снова с сайта, с моей ветки,
если pult.exe запустился, то значит побитым является последний save.sav файл. Требуется его удалить, а save01.sav переименовать в save.sav. Или восстановиться из архива, если архивируешься Archivist'ом.

Добавлено (12.07.2025, 09:10)
---------------------------------------------
ps. Требуется проверить на целостность диск утилитами типа 
https://learn.microsoft.com/ru-ru/answers/questions/3173295/windows-10

 
olegpersh999Дата: Суббота, 12.07.2025, 12:55 | Сообщение # 494
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
Цитата V9 ()
если pult.exe запустился, то значит побитым является последний save.sav файл. Требуется его удалить, а save01.sav переименовать в save.sav. Или восстановиться из архива, если архивируешься Archivist'ом.
он запустился, но когда я переименовываю в save.sav предыдущие сохранения, он все равно выдает эту ошибку
 
V9Дата: Суббота, 12.07.2025, 14:59 | Сообщение # 495
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
archivist использовал? Он точно позволяет выяснить консистетность данных.
 
olegpersh999Дата: Воскресенье, 13.07.2025, 08:26 | Сообщение # 496
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
V9, попробовал. Не знаю что должно произойти
 
olegpersh999Дата: Воскресенье, 13.07.2025, 08:46 | Сообщение # 497
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
Можешь посмотреть пожалуйста
Прикрепления: 1_0818_0045.7z (133.1 Kb)
 
V9Дата: Воскресенье, 13.07.2025, 12:40 | Сообщение # 498
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
Цитата olegpersh999 ()
Можешь посмотреть пожалуйста

Ну, как говорил, надо все удалить лишнее. После удаления всех .bmp-файлов,с оставлением pult.bmp. все запустилось:
Прикрепления: 8308603.png (57.5 Kb)


Сообщение отредактировал
V9 - Воскресенье, 13.07.2025, 12:46
 
V9Дата: Воскресенье, 13.07.2025, 12:47 | Сообщение # 499
Поездной диспетчер
Группа: Пользователи
Сообщений: 552
Награды: 12
Репутация: 3
Статус: Offline
Прикрепления: 8763973.png (22.0 Kb)
 
olegpersh999Дата: Воскресенье, 13.07.2025, 13:06 | Сообщение # 500
Начальник станции
Группа: Пользователи
Сообщений: 226
Награды: 3
Репутация: 0
Статус: Offline
Ничего не получается. Я не понимаю что нужно оставить, а что удалить. Все бмп файлы удалил, в итоге вот это изображение и сохранения не работают почему-то
Прикрепления: 4553401.png (130.8 Kb)
 
Поиск: