[ Главная · Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 22 из 22
  • «
  • 1
  • 2
  • 20
  • 21
  • 22
Пытаюсь замутить свой симулятор.
olegpersh999Дата: Вторник, 19.11.2024, 16:03 | Сообщение # 421
Начальник станции
Группа: Пользователи
Сообщений: 196
Награды: 3
Репутация: 0
Статус: Offline
Цитата V9 ()
Кроме того, к Олегу просьба упаковать мне свой каталог territory\1 с ошибочным расписанием. Чет у меня не воспроизводится ошибка на моих гидах.
вот файл
Прикрепления: 1_0725_1939.7z (367.0 Kb)
 
V9Дата: Вторник, 19.11.2024, 16:21 | Сообщение # 422
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline

2708й прибыл в Пыть-Ях, где был "расформирован". Это реальный поезд из графика 2005года.

ps. Внутренний код(программа) в данный момент мне совершенно не нравится. Оно как-то работает, но написано беспредельно криво(кашей). До конца недели планирую что-то попробовать отрефакторить, дабы выглядело хоть как-то приличней.
Прикрепления: 7500018.png (3.1 Kb)


Сообщение отредактировал
V9 - Вторник, 19.11.2024, 16:22
 
V9Дата: Вторник, 19.11.2024, 18:03 | Сообщение # 423
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата olegpersh999 ()
вот файл
 
О, не заметил! Спасибо! Ночью потестирую.
 
olegpersh999Дата: Вторник, 19.11.2024, 19:44 | Сообщение # 424
Начальник станции
Группа: Пользователи
Сообщений: 196
Награды: 3
Репутация: 0
Статус: Offline
Тебе спасибо)
 
V9Дата: Вторник, 19.11.2024, 20:15 | Сообщение # 425
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата olegpersh999 ()
в смысле сам сформировался и поехал без ввода в формул?

"Формулы" - это "приказы". Нет, в данном случае "по приказу". Первым приказом я сформировал поезд на пути, вторым - отправил. Но оно там проводит проверки разные. Скажем, ты не можешь сформировать поезд с ID, который уже был хоть раз. Ты не можешь сформировать на одном пути, а отправить с другого пути. Или сформировать на одной станции, отправить с другой. Или отправить ранее того времени, когда сформировал. И т.п.

Ситуация - "Оно само сформировалось!" - планируется позже, когда я буду программировать "подходы поездов". Там много сложностей исходя из того, что (А) у нас "много-полигонная" игра; (Б) многопользовательская. Т.е., если пользователь гоняет полигон "Куть-Ях—Сургут", DSim должен подводить поезда с Севера в Сургут и с Юга в Куть-Ях. А если пользователь гоняет полигоны НВ1-Сургут + Сургут — Куть-Ях, то поезда надо "подводить" по НВ1, Лангепасу, УЯ, но не генерировать северные поезда в Сургуте. При этом у нас проблемы в том, что пользователей может быть несколько, при этом часть пользователей может работать на части полигонов, вообще не видя чужого полигона, при этом я программирую в глючной Java 1.0 в блокноте с кучей ограничений по коду. Я вообще, мягко, в шок, что я смог добраться до этого этапа. =)
 
V9Дата: Вторник, 19.11.2024, 22:27 | Сообщение # 426
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Релиз 0.2.4.1. 

1. В режиме DSim были добавлены команды "Сформировать поезд" и "Расформировать поезд". Первая выглядит так:

Код
3402/12 *Sur,13a> 2245
Т.е. "сформировать 3402(ID 12) в сургуте на 13а пути (а- латинская) в 22:45.
Вторая вот так:

Код
3305/11 >*NVI,6 1305
 Расформировать 3305(11) в НВ1 на 6м пути. При расформировании путь можно не указывать. DSim найдет состав и уберет его сам.

Код
3305/11 >*NVI 1305

2. Исправлена ошибка, о которой писал Олег в посте http://pultneva.ru/forum/24-337-16551-16-1726281475 (#357)
Там нитка не разворачивалась, а ошибочно отрисовывалась если у нас произошел сдвиг часов между циклами рисования. Т.е. поезд отрисовался по Почекуйке в 02:05, затем в Силинском в 01:15, затем в Сургуте в 01:25. Вот это вот "перемещение в прошлое" и было ликвидировано.
Прикрепления: dsim_0_2_4_1.zip (70.9 Kb)
 
V9Дата: Воскресенье, 24.11.2024, 15:46 | Сообщение # 427
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Выслушаю рекомендации, куда дальше двигаться в первую очередь? Я вижу два пути:
  • Подвод поездов по графику на участок игрока прогой по расписанию;
  • Первичный переход на физическую модель мира.

Оба пункта под режим симуляции DSim.
"Подвод" - это прога сканирует график движения и информирует игрока, что игрок должен оформить приход на участок некий поезд.
"Физическая картина" - это переход на другую модель. Сейчас прога оформляет все как события - "поезд X проследовал станцию Y в HH:MM:SS!" Из 
этого события можно вычислить время когда поезд приедет на следующую стацию ходом или с остановкой. "Физическая" же модель будет подразумевать, что сим будет по таймеру обсчитывать движение поездов по перегону. Переход на физическую модель подребует введение сетевого протокола общения программ для мультиплеера. В данный момент в этом не было нужды так как события писались в GID.txt и могли анализироваться оттуда.
 
olegpersh999Дата: Воскресенье, 24.11.2024, 16:24 | Сообщение # 428
Начальник станции
Группа: Пользователи
Сообщений: 196
Награды: 3
Репутация: 0
Статус: Offline
Подвод поездов это по типу как Справка о подходе? Я там наблюдаю сколько поездов соседний участок мне гонит.
 
V9Дата: Воскресенье, 24.11.2024, 17:50 | Сообщение # 429
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
На данном этапе планируется анализировать расписание и анализировать - "Играем в графе полигонов или в одном полигоне?" В зависимости от этого, заранее сообщать игроку типа "Отправлен поезд 108/12 с прибытием в Куть-Ях в 12:54!" Игрок сам пишет приказ на прием(проследование) и далее ведет поезд.
upd. Если играем на полигоне Сургут—Куть-Ях, то подводятся поезда к Сургуту с севера и к Куть-Яху. А вот если на полигоне НВ1—Куть-Ях, то поезда подводятся на Ульт-Ягун, НВ1 и Куть-Ях (по Сургуту - (рас)формирования Сургута)


Сообщение отредактировал
V9 - Воскресенье, 24.11.2024, 18:04
 
V9Дата: Воскресенье, 24.11.2024, 18:02 | Сообщение # 430
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Тут отмечу, что календарное движение пока программировать не планирую. Т.е. когда в один день один поезд, в другой день - другой поезд. Календарное движение планируется программировать после введения начального этапа физической модели.
 
V9Дата: Воскресенье, 01.12.2024, 22:10 | Сообщение # 431
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Цитата V9 ()
  • Подвод поездов по графику на участок игрока прогой по расписанию;
  • Первичный переход на физическую модель мира

После некоторого количества размышление, было выбрано другое направление,  ни первое,  ни второе.
  • Сначала делается рефакторинг(переработка), на что я давно заглядывался.
  • Потом будет делаться загрузка части информации о полигоне из файла data.dat. Поясню. Файл data.dat в Пульте Нева хранит много информации о полигоне. Но в самом Пульте Нева много у Zork много "зашито" прямо в коде. Поэтому, к примеру, я, когда делал мод полигона "симуляция реконструкции", мог сделать двухппутку на разъездах, но не могу "подвести" второй путь на станции типа Сургут. В DSim Сейчас часть инфы берется из файла data.dat, по количеству станций и по структуре путей на них, и по графику движения пассажирских поездов. А вот имена станций и перегонные хода "зашиты" в коде DSim.

    Тут проблема что Java 1.0 не умеет выводить инфу кириллицей (ваааабще), поэтому я не могу читать инфу об именах станций из data.dat от Пульта Нева, а в режиме ГИДа нужно уметь работать именно с данными от Пульта.

    Сейчас я придумал, как я "выкручусь". Поэтому я принял решение убрать из DSim зашитые в код имена станций и т.п. и хитрым образом хранить это нужную инфу по "подстановке" имен станций "Кирилиица"->"Латинница" или "дописывая" на лету data.dat, или же вынося инфу вообще в другой файл.

    Что это даст? А это "развяжет" руки и желающие смогут начать делать свои полигоны движения, свои наборы станций. По мере улучшения самого DSim можно будет на своих кастомных полигонах вполне комфортно играть.
  • Далее планируется программировать окно графика НГДП (это чтобы моддерам было удобно делать график движения и видеть сразу его отображение).
  • Далее "подвод поездов". Хотя, возможно, я сделаю сначала, перед НГДП, подвод пассажирских (их график уже читается из data.dat), потом НГДП, потом подвод всех поездов.
  • Далее планируется появление выносного пульта, т.е. вот этого зеленого поля с лампами. Оно покажет начальный этап движения поездов о участку.
  • Далее планируется подвязка команд к пульту. Можно будет отказаться от набора приказов.
  • Далее сетевой коннект для мультиплеера
  • Далее физическая модель
  • Далее загрузка графа путей, настройка сигналов и т.д. и т.п.
 
olegpersh999Дата: Понедельник, 02.12.2024, 13:17 | Сообщение # 432
Начальник станции
Группа: Пользователи
Сообщений: 196
Награды: 3
Репутация: 0
Статус: Offline
Вау, ну если это получится, то круто будет)
 
V9Дата: Среда, 04.12.2024, 17:40 | Сообщение # 433
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Сделал рефакторинг. Начал делать "сканирование подстановки". Т.е., мы сканируем data.dat, где могут быть названия станций кириллицей и сканируем таблицу подстановки, где они меняются на названия латинницей. Но! если у нас старшая Java, то нам не требуется подстановка, можно выводить текст кириллицей. Ок? Ок! Выяснилось, что я не тестировал развитие проекта на старших джавах. А они, оказывается, просто не работают на моем проекте. Если бы я тестировал, я бы увидел момент "расхождения" и предпринял бы некие меры. А так пока получается некий тупик: в Java 1.0 оно работает, но без кириллицы; в старших с кириллицей не работает вообще =)
 
V9Дата: Суббота, Вчера, 19:29 | Сообщение # 434
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
Встал на проблеме того, что не могу выбрать формат хранения данных описания полигона. У Zork полигон хранится в файле data.dat в своем кастомном формате. У меня выбор между:
  • https://ru.wikipedia.org/wiki/XML - формат XML
  • https://ru.wikipedia.org/wiki/JSON - формат JSON
  • https://ru.wikipedia.org/wiki/.ini - формат .ini файла (формат Zork'a очень сильно похож именно на него)
  • data.dat от Zork.


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

upd. Написав, понял, что в теории, я могу просто "расширить" текущий data.dat от Zork своими кастомными тегами в нужном направлении, чтобы можно было "тонко" "донастраивать" полигон. один из примеров "донастройки" - это параметры надежности поездов к поломкам. другой пример - характер погрузки-выгрузки местных грузов (вероятность, среднее, дисперсия вероятности)  и т.п.


Сообщение отредактировал
V9 - Суббота, 21.12.2024, 19:31
 
  • Страница 22 из 22
  • «
  • 1
  • 2
  • 20
  • 21
  • 22
Поиск: