[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Пытаюсь замутить свой симулятор.
V9Дата: Суббота, 23.05.2026, 12:12 | Сообщение # 741
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Релиз обновления 0.5.5.14. Исправлен баг с отрисовкой из п.738 данного треда. Исправлен баг "поезд не рисуется на станции если прибыл в прошлом и не обработан на данный момент". Добавлена отрисовка штриховки на станционных путях.

Это апдейт (для пробы), там удалены не изменные файлы. Оставлены только те, что изменились. Если ставить "с нуля", нужно сначала поставить релиз из п.736 данного треда.

upd. Выяснилось, что формируемые поезда имеют номер Ноль, что меньше чем 300, что делало их линию на станции НВ жирное. Ошибка исправлена в версию 0.5.5.15, нулевые поезда рисуются тонкой линией.
Прикрепления: dsim_upd_0_5_5_15.zip (55.0 Kb)


Сообщение отредактировал
V9 - Суббота, 23.05.2026, 12:33
 
olegpersh999Дата: Суббота, 23.05.2026, 13:42 | Сообщение # 742
Поездной диспетчер
Группа: Пользователи
Сообщений: 374
Награды: 5
Репутация: 3
Статус: Offline
Красота!
Прикрепления: 4850867.png (96.6 Kb)
 
V9Дата: Суббота, 23.05.2026, 13:56 | Сообщение # 743
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Перед написанием алгоритмов штриховки у меня был перерыв дня 3. Мне физически было больно думать о том, как писать алгоритмы. Никогда бы не подумал, что такое возможно - испытывать физическую боль о размышлении о будущем. Но за 3 дня пришли мысли в голову, как это сделать и я сел клепать. Сейчас хочу сделать некий перерывчик и чутка переключиться. Немного поколупаю проблему мульти-полигона в режиме симулятора.
 
olegpersh999Дата: Суббота, 23.05.2026, 14:51 | Сообщение # 744
Поездной диспетчер
Группа: Пользователи
Сообщений: 374
Награды: 5
Репутация: 3
Статус: Offline
V9, правильно! отдыхать тоже надо. Проделана колоссальная работа
 
V9Дата: Суббота, 23.05.2026, 16:27 | Сообщение # 745
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Цитата olegpersh999 ()
V9, правильно! отдыхать тоже надо. Проделана колоссальная работа
Спасибо!

Вспомнил, что у меня есть боооольшой список задач. На данный момент в нем 24 пункта. Запустил random.org, выпал 20й пункт "Ошибка"
1. remove 3306 in gids.
2. build route 3306 to nvi via pult
3. watch wrong time: 2 hours time mark to start

Ну, в общем, бум делать потихоньку.
 
olegpersh999Дата: Суббота, 23.05.2026, 16:39 | Сообщение # 746
Поездной диспетчер
Группа: Пользователи
Сообщений: 374
Награды: 5
Репутация: 3
Статус: Offline
а что за ошибка такая?
 
V9Дата: Суббота, 23.05.2026, 19:48 | Сообщение # 747
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Цитата olegpersh999 ()
а что за ошибка такая?

DSim  в режиме симулятора криво отправлял поезд, с задержкой на 2 часа. Вопроизвести не удалось, кейс закрыт, вылезет позже, если в коде проги остался.

upd. random.org выбрал мне новую задачу из списка задач: "06)  Производить очистку-удаление каталогов .rdd при закрытии подсистем Пульт и командная панель  (т.е. при выходе из сима). Первичная задача: сделать плановое закрытие проги по всем нитям. Сейчас закрывает в ГИДе."

Задачка интересная и по сути важная. Сейчас клик "на крестике" ГИДа резко "убивает" прогу, хотя в режиме симулятора параллельно работает Модель Мира и ей надо время сохранить состояние мира на диск. Пока что это не сильно важно так как модель должна сохранить только текущие дату-время, а она их и так сохраняет каждую секунду. Но в будущем это нужно сделать чтобы корректно сохранять файл save.sav.

Добавлено (24.05.2026, 09:01)
---------------------------------------------
Задачу закончил. random.org выкинул следующую задачу№1: "01) Ошибка. Лампы не гаснут в интерактивном режиме на пульте."

Добавлено (25.05.2026, 09:54)
---------------------------------------------
Задача оказалась сложновастой, а из-за работы в реале пока откладывается на день-два. Примерно локализовал, но еще не нашел.

Добавлено (25.05.2026, 09:54)
---------------------------------------------
Есть пара красивых идей по ГИДу. Может успею до пятницы сделать.

Добавлено (25.05.2026, 11:34)
---------------------------------------------
С ошибкой "лампы не гаснут" разобрался. Там прикол, что у меня на станционном пути может быть много составов. Скажем, можно принять поезд на путь, а в задницу к нему загнать локомотив резервом или мотовоз. Или выставить два пригородных на 3а путь сургута и отправить в разные стороны (кстати, именно так в Сургуте и делается).

Поэтому у меня не жесткая фиксация "поезд есть"/"поезд нет". А инкрементальная "приехало два поезда и два должно уехать, чтобы лампочка погасла". По ошибке я сделал так, что перечитывается и перерасчитывается все состояние мира, а вот очищать внутренние переменные перед перечитыванием забыл. Ну и в итоге, поезд учитывался на пути несколько раз, и, естественно, когда он "прибыл" три раза, а уехал один раз, то лампочка оставалась зажженой.

Сообщение отредактировал
V9 - Суббота, 23.05.2026, 20:03
 
olegpersh999Дата: Понедельник, 25.05.2026, 12:33 | Сообщение # 748
Поездной диспетчер
Группа: Пользователи
Сообщений: 374
Награды: 5
Репутация: 3
Статус: Offline
Цитата V9 ()
Есть пара красивых идей по ГИДу. Может успею до пятницы сделать.
Интересно))
 
V9Дата: Понедельник, 25.05.2026, 14:01 | Сообщение # 749
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Выпала задача:


Задача интересна тем, что позволит отправлять поезда мышкой с пульта на перегон.

Добавлено (28.05.2026, 12:53)
---------------------------------------------
Сильно "разобрал" в том аспекте, что хочу переделать. Выглядит сейчас жутко smile Показывать не буду.

 
V9Дата: Четверг, 28.05.2026, 14:47 | Сообщение # 750
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline


Тут присутвует баг - линия захватыется уголком из-за каких-то ошибок, но это ликвидирую. Просто сегодня я вряд ли продолжу, но завтра должен закончить.

Java 1.0 не умеет рисовать наклонные номера. Мне пришлось рисовать номера в два этапа:
1. Java пишет текст прямым образом;
2. Мой алгоритм разворачивает текст на бок под линию поезда.

можно легко будет манипулировать настраивая свои шрифты и размеры если надо.
Прикрепления: 5504554.png (25.9 Kb)
 
V9Дата: Четверг, 28.05.2026, 15:07 | Сообщение # 751
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Если уменьшать шрифт, хуже читается лист диспетчера:

Добавлено (28.05.2026, 15:09)
---------------------------------------------
ps. Ошибку "уголок" исправил.
pps. Еще не сделаны номера "прибывающих" поездов, они пока "старые". Так же увидел какие-то ошибки если менять размер окна, надо разбираться.

Прикрепления: 2517685.png (17.3 Kb)
 
V9Дата: Четверг, 28.05.2026, 15:11 | Сообщение # 752
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Самый первый скрин был 15 размера шрифта, слишком большой. Второй - 10го, слишком мыльный. А вот 12й прям хорошо рисуется и не большой.
Прикрепления: 3033787.png (21.6 Kb)
 
V9Дата: Четверг, 28.05.2026, 15:24 | Сообщение # 753
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Плотное движение, сжатый лист:
Прикрепления: 0879809.png (81.0 Kb)
 
olegpersh999Дата: Четверг, 28.05.2026, 15:36 | Сообщение # 754
Поездной диспетчер
Группа: Пользователи
Сообщений: 374
Награды: 5
Репутация: 3
Статус: Offline
V9, офигенно. Номера теперь вообще четко читаются)) осталось индексы Д, Н, ВМ
 
V9Дата: Четверг, 28.05.2026, 15:46 | Сообщение # 755
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Цитата olegpersh999 ()
V9, офигенно. Номера теперь вообще четко читаются)) осталось индексы Д, Н, ВМ

С этим сложности так как java 1.0  не умела выводить вообще ничего кроме латинских символов. По этой причине названия станций у меня латинницей. Хотя, в теории, можно "отрендерить" картинки букв заблаговременно, картинку "дорисовывать" к номеру поезда горизонтально, а потом все объединенно разворачивать набок.

Добавлено (28.05.2026, 15:55)
---------------------------------------------
я могу латинские буквы зафигачить. S - oversize (негабарит), L - long (длиносоставный), X - eXplosives (вм).

Добавлено (28.05.2026, 16:55)
---------------------------------------------
Релиз 0.5.6.6beta.
1. Уточнена процедура выхода из приложения. В случае режима работа симулятора, выход осуществляет Модель Мира, что даст возможность корректно сохранить состояние мира. Выход осуществляется если закрыты оба окна - ГИД и Пульт.
2. Исправлен баг "в режиме симулятора не гаснут лампы на пульте после ухода поезда с пути".
3. Измнен алгоритм отрисовки наклонных номеров поездов. Java рисует прямой текст как картинку. Мой алгоритм разворачивает картинку и подкладывает на ГИД.
4. Исправлена ошибка падения на Java 1.0 при обработке PixelGrabber'а.


Это бета так как еще входящие поезда не переделаны на новый агоритм. Будут проводиться оптимизации отрисовки чтобы постараться ускорить отрисовку. Так же будет добавляться возможно выбора шрифта и размера в .ini файл. Равно как и варианты отрисовки линий поездов чтобы можно было точно настроить.


Сообщение отредактировал
V9 - Четверг, 28.05.2026, 16:58
 
V9Дата: Четверг, 28.05.2026, 16:59 | Сообщение # 756
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
сам файл

Добавлено (28.05.2026, 17:38)
---------------------------------------------
За май месяц добавлено всего 850 строк кода. Чет мне казалось гораздо больше smile ps. Изза добавления кода разворота номера будет удален старый код отрисовки наклонных номеров то есть добавлено будет еще меньше smile

Прикрепления: dsim_0_5_6_6beta.zip (76.4 Kb)
 
olegpersh999Дата: Четверг, 28.05.2026, 17:48 | Сообщение # 757
Поездной диспетчер
Группа: Пользователи
Сообщений: 374
Награды: 5
Репутация: 3
Статус: Offline
Цитата V9 ()
я могу латинские буквы зафигачить. S - oversize (негабарит), L - long (длиносоставный), X - eXplosives (вм).
можно просто латиницей и набить эти обозначения BM на английском  и Н английскую как негабаритную. Ну букву Д как D так можно
 
V9Дата: Четверг, 28.05.2026, 17:58 | Сообщение # 758
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline

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

Добавлено (28.05.2026, 18:23)
---------------------------------------------

Цитата olegpersh999 ()
можно просто латиницей и набить эти обозначения BM на английском  и Н английскую как негабаритную. Ну букву Д как D так можно

Возможное решение.
Прикрепления: 1751483.png (9.6 Kb)
 
V9Дата: Четверг, 28.05.2026, 18:30 | Сообщение # 759
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
В Startup.java, по факту, весь функционал. Я думал- "Когда достигну 10 тысяч строк кода?" Специальной приблудой считаю реально сам код, без учета пустых строк и комментариев. Но выяснилось, что 10к строк достигну не скоро, так как я сделал функционал  наклонных номеров поездов нового типа, а значит старый функционал будет удален. Сколько будет удалено - самому интересно.
Прикрепления: 2191974.png (1.2 Kb)
 
V9Дата: Четверг, 28.05.2026, 18:48 | Сообщение # 760
Поездной диспетчер
Группа: Пользователи
Сообщений: 800
Награды: 15
Репутация: 3
Статус: Offline
Релиз 0.5.6.8. Сделаны под новый алгоритм "входящие поезда". Сделан более крупным шарик готовности поезда. Удален старый функционал отрисовки наклонных номеров поездов. ps Метод main "похудел" до 9557 строк кода, теперь в нем меньше на 438 строк.

Добавлено (28.05.2026, 18:50)
---------------------------------------------
Получилось, что за месяц написано 424 строки кода  :)

Прикрепления: dsim_0_5_6_8.zip (73.9 Kb)
 
Поиск: