Знаковый этап симулятор. Поезд въехал на путь, но еще не прибыл. Еще недавно лампа рисовала занятость только "по прибытию". =)
Добавлено (31.08.2025, 15:47) --------------------------------------------- upd. Сегодняшний этап - это как перевалка через верх горы. ДО сих пор надо было оооочень внимательно вводить команды ибо небольшая ошибка и получался абсолютно невозможный график. Скажем, легко и элементарно можно было нарисовать вертикальную линию ГИДа. Сейчас вертикальный кривой график ГИДа по прежнему нарисовать можно, но это уже нужно прилагать "усилия".
Раньше усилия были сосредоточены на внимательности при вводе команды. Сейчас больше на геймплее.
Месячный итог. За июль я добавил 1049 строк кода. Ставил план добавить 1200 в августе. Но там получился прикол, что в конце июля я добавил большой кусок кода в подсистму Пульта из подсистемы анализа приказов. Скопировал около 300 строк. А в начале августа удалил. Таким образом завысился показатель июля и сильно занизился август. Если нормализовать, то за июль добавлено около 750 строк кода, а за август - 1300.
1) Ошибка. С Пульта не отправился нечетный поезд 2935 2) 13. Ошибка отрисовки ГИД: дважды дублируется час справа. 3) 14. Ошибка отрисовки ГИД: поезд, вставший перед Сурмятиным, рисуется за ним. 4) "Начать начальную загрузку станций и их имен в новую структуру" 5) Добавить выносному пульту возможность обработки событий 4 (выставление поезда) и 6 (уборка поезда. 6) 21. Выставление поездов на полигон по расписанию. 21.1 Добавить некий учет по перегонам аналогично тому, как сделан учет по станция. 21.2 Автоматическая уборка поездов с полигона по прибытию/прохождению развилки. 7) 23. Подсистема Пульт может работать только с полигоном 0. Исправить. 8) 24. Можно иметь только один ГИД на полигон. Должна быть возможность иметь несколько ГИДов. Для этого хранить ссылку в ГИДах и Пульте на модель. 9) 25. Переделать хранение .ord файлов на отдельные каталоги чтобы модель могла сообщить что-то конкретному пользователю. 10) 26. Тикет: 6423f6df5d31d13d // TODO #6144ce56 Temp solution. Next time must index pass args. 11) toRun = new Startup(indexInEnv2, indexInEnv2);//TODO remove that constructor 12) Отсутствует временной контроль движения поездов при отдаче ручного распоряжения. Можно рисовать вертикальные линии ГИДа. 13) // TODO precalculate it! 14) // TODO rewrite to "single-write multiply ordes" 15) тикет 68029a17 16) Сделать расчет хитбоксов перегонов Пульта 17) Сделать динамически рассчитываемый пульт по ширине окна (сейчас он фиксированный) 18) Сделать хитбоксы путей Пульта по размерам путей станций (по ширине), а не по ширине текста пути. 19) Сделать зеленые поля текстов Путей Пульта (сейчас путь под текстом делает его не очень различимым). 20) Добавить свой класс java.awt.Frame, транслирующий события ОС вниз, на Canvas. Это позволит закрывать окно крестиком. 21) Строковые литералы для поиска строки в env2 в main() заполняются неверно и в другом месте. Это работает сейчас, при "жестком" расположение рядов данных в env2, но "стрельнет" позже, когда расположение станет "неочевидным". 22) Линии часов и минут не должны пересекать станцию. 23) При наведении указателя мышки на поезд на станции на ГИДе должна появляться инфа о поезде. 24) Время на ГИД из файла datetime.txt, с точностью до минуты. 25) Аналогично - для пульта. 26) Добавить на ГИД индикацию негабаритного поезда, как это сделано в ГИД Урал. 27) Добавить возможность выбора конца пути - четный или нечетный - при выставлении второго поезда на занятый путь. 28) Обдумать вынос .ini файлов в корень Territory, дабы улучшить мультиплеерные возможности, чтобы исключить конфликты настроек приложения между разными игроками. 29) Обдумать вопрос выноса положения файлов состояния мира из Territory\XX\ в Graphs\XX_YY_ZZ\XX(YY,ZZ), что позволит делать разные графы с пересечением полигонов на одном каталоге сима. 30) Тикет 4633662abb 31) Тикет 8908841b26 32) Тикет 68029a176a 33) // TODO: ADD check Data_Put & Stations counter consistency.
Добавлено (01.09.2025, 21:11) --------------------------------------------- 9ю задачу сделал, теперь приказы хранятся по отдельным каталогам, что дает возможность дать описание ошибки в точный адрес-отправителя.
9) Производить очистку-удаление каталогов .rdd при закрытии подсистем Пульт и командная панель (т.е. при выходе из сима). И при этом производить очистку этих каталогов при старте проги, на случай раннего отвала удаленного пользователя по сети без корректного удаления данных каталогов. Учесть, что при перехвате управления другой моделью, данные каталоги могут быть повторно удалены прямо в процессе игры. Это значит, что Пульт и командная панель должны уметь их пересоздавать повторно, не вываливаясь в ошибку.
Добавлено (02.09.2025, 21:30) --------------------------------------------- В 10 строках кода было сразу три ошибки.
В длинном приказе вместо поочередного оформления ряда станций вида "Уя, ВЯ, Срм, Поч, Сил, Сур", дублировалась одна станция: "Уя, Уя, Уя, Уя..."
Вместо перегонных времен хода и времени на замедление везде использовалось время на разгон
Складывалось время в одной структуре данных, №1, а потом надо было переложить сведения в другую структуру, №2. А этого не делалось. В итоге, попадало одно и тоже время из структуры №2 во все станции приказа. Рисовалась вертикальная линия ГИДа.
Через полчаса узнаю, что буду делать дальше.
Добавлено (02.09.2025, 21:40) --------------------------------------------- Первый пункт звучит так:
1) Ошибка. Лампы не гаснут в интерактивном режиме на пульте.
12я задача. Сильный облом. upd. Контроль, оказывается, был настроен. Просто при изменении заполнения GID.txt и введении ламповых событий вызвало отказ от проверки времени. Модуль проверки времени не опознавал корректно события отправления/проследования/прибытия, поэтому не мог корректно рассчитать временные интервалы. upd2. Новый 12й пункт: "12) Добавить сортировку во внутрянки Модели, чтобы при записи dsim.ords писался упорядоченный по времени."
v.0.5. Гид не правился, тут только касательно режима DSim. Основные изменения: 1. По другому передаются сведения от клиента к серверу, что дает возможность серверу теперь писать сообщения об ошибках напрямую тому, кто создал и отправил сведения. До сих пор было так, что сервер писал сообщения "самому себе". 2. Сделан автоматический "вынос" файла dsim.ini из каталогов Territory/XX в Inits/XX. Это чтобы разделить разделяемые данные как GID.txt, которые должны видеть все, и приватные, относящиеся только к данному клиенту. 3. Исправлены ошибки расчета времени проследования поездов. 4. Реализовано отправление и проследование нечетных поездов с пульта. 5. Лампочки пульта лучше работают и отражают "заезд", "выезд" и проследование поезда. ps. Правда перестали выключаться после "уезда" поезда, буду исправлять.
четвертый сделал, редуплицировал ошибку (1) на четвертый, чтобы поднять вероятность. выпала шестая задача. Жуть!
Добавлено (12.09.2025, 11:59) --------------------------------------------- сделал 6ю ползадачи. Остальную половину снова впишу в 6й пункт. Посмотрим, что дальше.
Добавлено (13.09.2025, 09:01) --------------------------------------------- Следующая задача - 9я. "делать очистку времкаталогов при выходе и при запуске"
V9, еще знаешь добавить бы к пожеланию разобраться с диапазонами номеров поездов, чтобы легче было присвоить им цвет нитки в ГИДе. Потому что я пытался какую-то закономерность выявить. Но столкнулся с проблемой, что в разные сутки некоторые номера меняют назначения. В одни сутки номер присвоился поезду на НВ, в другие сутки на Ноябрьск. Естественно я не могу закрасить данные нитки, потому иначе запутаюсь. Дело в том, что такое возможно в реале, но в реале можно нажать на нитку поезда и он тебе покажет всю информацию о нём. В рамках данного симулятора, хотелось бы чтобы нитки поездов были закреплены в каком-то диапазоне за каким-то направлением постоянно, чтобы присвоить ниткам цвет и глядя в ГИД точно знать, куда движется тот или иной поезд
Что-то у меня ГИД перестал рисовать, есть способ лечения данной беды ?
Упаковать каталог /Territory/1, отправить мне.
Цитатаolegpersh999 ()
еще знаешь добавить бы к пожеланию разобраться с диапазонами номеров поездов, чтобы легче было присвоить им цвет нитки в ГИДе.
Номер реально назначается в случайном порядке, тут ничего не сделать. Но в теории выкрутиться можно. Нужно будет анализировать сохраненные .sav файлы. В них станция назначения присутствует. Далее можно "дописывать" gid.txt нужной инфой. И тогда подсистма ГИД будет иметь инфу о направлении. А значит - можно красить нитки. Кроме того, можно будет видеть станцию назначения по наведению мышки на нитку поезда.
Нужно удалить файлы GID.bmp и GID_dop.bmp и снова запустить pult.exe.
Произошло то, что было запущено два подряд pult.exe, потом они были закрыт штатным методом. получается такая бага. При ошибке запуска двух приложений, нужно "снимать" процессы через диспетчер задач.
В рамках подготовки нового релиза немного переписывается код отрисовки ГИД, поэтому дошли руки исправить старый баг, когда остановившиейся четный перед Сурмятиным отрисовывался на следующем перегоне. Это потому что обход станций раньше шел всегда в нечетном направлении и как только километр остановки попадал в диапазон перегона - остановка на 730м, диапазон перегона - 743..730 - то обход прекращался и начиналось вычисление координаты. Сейчас обход сделан "по ходу поезда". Поэтому остановка приходит как только находим вилку 719..730 (для четных) или по прежнему 743..730 (для нечетных). Как было: Как стало:
а пусть будет. Если pult.exe дает событие №5 "присвоение номера поезду", чёб не вывести? В режиме симулятора это будет знак "локомотив прицеплен". upd2. Zork обещал в след версии сделать прописывание инфы новому поезду на полигоне. Можно будет красить нитки в нужный цвет и показывать направление следования.
Сообщение отредактировал V9 - Пятница, 19.09.2025, 17:07