Знаковый этап симулятор. Поезд въехал на путь, но еще не прибыл. Еще недавно лампа рисовала занятость только "по прибытию". =)
Добавлено (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. Правда перестали выключаться после "уезда" поезда, буду исправлять.