Пытаюсь замутить свой симулятор.
| |
olegpersh999 | Дата: Вторник, 19.11.2024, 16:03 | Сообщение # 421 |
Начальник станции
Группа: Пользователи
Сообщений: 196
Награды: 3
Репутация: 0
Статус: Offline
| Цитата V9 ( ) Кроме того, к Олегу просьба упаковать мне свой каталог territory\1 с ошибочным расписанием. Чет у меня не воспроизводится ошибка на моих гидах. вот файл
| |
| |
V9 | Дата: Вторник, 19.11.2024, 16:21 | Сообщение # 422 |
Поездной диспетчер
Группа: Пользователи
Сообщений: 517
Награды: 11
Репутация: 2
Статус: Offline
| 2708й прибыл в Пыть-Ях, где был "расформирован". Это реальный поезд из графика 2005года.
ps. Внутренний код(программа) в данный момент мне совершенно не нравится. Оно как-то работает, но написано беспредельно криво(кашей). До конца недели планирую что-то попробовать отрефакторить, дабы выглядело хоть как-то приличней.
Сообщение отредактировал 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) в НВ1 на 6м пути. При расформировании путь можно не указывать. DSim найдет состав и уберет его сам. 2. Исправлена ошибка, о которой писал Олег в посте http://pultneva.ru/forum/24-337-16551-16-1726281475 (#357) Там нитка не разворачивалась, а ошибочно отрисовывалась если у нас произошел сдвиг часов между циклами рисования. Т.е. поезд отрисовался по Почекуйке в 02:05, затем в Силинском в 01:15, затем в Сургуте в 01:25. Вот это вот "перемещение в прошлое" и было ликвидировано.
| |
| |
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
| |
| |
|