|
Пытаюсь замутить свой симулятор.
| |
| olegpersh999 | Дата: Суббота, 13.06.2026, 15:32 | Сообщение # 841 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 373
Награды: 4
Репутация: 3
Статус: Online
| Цитата V9 (  ) Пожелайте мне удачи, я работаю над "время работы локомотивных бригад" вот это отлично) просто предыдущие не понимаю к чему относятся)) а с этим удачи! Надеюсь что все получится
| | |
| |
| V9 | Дата: Воскресенье, 14.06.2026, 05:43 | Сообщение # 842 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Затык. У каждого поезда есть ID. В теории все просто: поезд появляется на полигоне, назначаем время работы локомотивной бригаде. Но есть проблема. Пассажирские поезда едут на НВ1, там стоят, разворачиваются, выезжают и едут обратно не меняя ID. Так сделал Zork в Неве и это логично, ибо зачем помечать поезд "неработающим" в save.sav, вводить новую запись с новым ID, если по сути, этот тот же поезд?
То есть, время должно быть назначено этому же поезду на другой станции. Ладно, назначили. Но тут проблема: в рандомизаторе используется нормальное распределение, оно же гауссиана, а случайное значение для нормального распределения вычисляется долго, там используются извлечения корней, логарифмы и т.п. То есть, нежелательно пересчитывать это при каждой перерисовке.
Едем на юг, приезжаем в УЯ, а эта станция помеченная у нас, как станция, куда прибывают поезда с других направлений. И надо назначить время другим поездам, но НЕ трогать поезд с НВ1.
Еще раз. Поезд приезжает на другую станцию, где смена локомотивных бригад, и там надо назначить время. Но потом он приезжает на третью станцию, где назначается время, но там время назначить не надо.
При этом, я не могу ни при каких обстоятельствах делать какие-то внутренние отсылки на Сургут, НВ, УЯ чисто по логике, что DSim по замыслу должен опираться строго на сведения из .dat файлов и не хранить какой-либо подобной инфы, "зашитой" внутри.
Можно хранить две записи: по Сургуту приехали, время назначили, в НВ приехали, время назначили. Часть проги, ответственная за отрисовку списка выберет последнее. Но снова вылазит проблема УЯ - а там-то что делать? Там время трогать нельзя!
И еще у нас новая проблема. Пользователь может восстановиться из архива. И восстановиться, когда поезд проехал Сургут и не приехал в НВ1. Тогда у нас две записи от предыдущего состояния симулятора, но использовать надо Сургутскую запись.
| | |
| |
| olegpersh999 | Дата: Воскресенье, 14.06.2026, 06:06 | Сообщение # 843 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 373
Награды: 4
Репутация: 3
Статус: Online
| А допустим назначать время работы лок.бригадам по Покачевскому для поездов следующих с Ноябрьска. Допустим часа 4 на работе (я дальше просто не знаю, где находится станция смены л/б и сколько время хода от нее.) Тогда Ульт-Ягун проходящая будет. Добавлено (14.06.2026, 06:09) ---------------------------------------------
Цитата V9 (  ) Пассажирские поезда едут на НВ1, там стоят, разворачиваются, выезжают и едут обратно не меняя ID. ну с этим да проблема. По сути в расписании только у 379/380 нормальный оборот в НВ1 буквально 2 часа в принципе той же бригаде хватит время привезти этот поезд обратно, но у остальных оборот многочасовой. А расформировывать пассажирские и потом заново их выставлять по НВ1 нельзя так сделать? Потому что реально это так и происходит
| | |
| |
| V9 | Дата: Воскресенье, 14.06.2026, 07:21 | Сообщение # 844 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Цитата olegpersh999 (  ) А допустим назначать время работы лок.бригадам по Покачевскому для поездов следующих с Ноябрьска. Допустим часа 4 на работе (я дальше просто не знаю, где находится станция смены л/б и сколько время хода от нее.) Тогда Ульт-Ягун проходящая будет. Хых! Если бы Нева передавала сведения по Покачам, у нас давно бы был допграфик DSim для северного участка. Графика нет потому что нет сведений от Невы по Ингу-Ягуну, Покачам, Черному мысу и Сургут-порту.Добавлено (14.06.2026, 07:50) ---------------------------------------------
Цитата olegpersh999 (  ) ну с этим да проблема. По сути в расписании только у 379/380 нормальный оборот в НВ1 буквально 2 часа в принципе той же бригаде хватит время привезти этот поезд обратно, но у остальных оборот многочасовой. А расформировывать пассажирские и потом заново их выставлять по НВ1 нельзя так сделать? Потому что реально это так и происходит В принципе, я понял, как сделать нужно. Нужно иметь два списка: "Валидные поезда" и "Невалидные". Оцениваться будет связка "ID+номер поезда". Перед проходом цикла отрисовки перекидываем все поезда из Валидных в Невалидные. По мере прохода списка событий перекидываем существующие записи из "невалидных" в "валидные". Но если у нас событие тип "6" - "расформирование поезда" - снова выбрасываем из "валидного" в "невалидный" список.
Тогда последовательность действий будет такая: 1. Приходит в Сургут, связки нет, создается новая запись "сургутское время" 2. Приезжаем в УЯ, но связка уже есть, время не обновляем; 3. Приезжаем в НВ1, связка есть. не обновляем; 4. Получаем событие №6, выбрасываем связку в "невалидные" и там удерживаем; 5. Получаем новую связку ID+номер, присваиваем новое время, уже с НВ1 6. Едем в УЯ, связка есть, время не назначаем; 7. Приезжаем в Сургут, время как бы тикает, но так как это последняя станция полигона, из списка валидных можно убрать, а значит пропадет со списка рабочего времени л/б.
Соответственно, в связке ID+номер храним момент, когда ей назначили время. После цикла отрисовки мы знаем "текущее время игры". Проходим по связкам и те связки, где у нас время назначено больше 14-18 часов "назад", удаляем из списка.
Дополнительный режим сокращения списка, в основном для Северного хода, будет заключаться в том, чтобы анализировать save.sav. Если поезд по save.sav "расфомирован", то записи удерживаем в списке "невалидных". После прохода Покачей, поезда будет помечен Невой как "расформированный", а значит - можно убрать из списка рабочего времени.
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 06:12 | Сообщение # 845 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Лол, приехали! При очередной компиляции компилятор выдал ошибку:

Однако в коде все идеально: 
А что произошло? Код стал слишком сложным для компилятора. Он, компилятор, в нем, коде, "захлебнулся". Что интересно, это уже было раньше. Я компилировал компилятором Java 1.0 и запускал Java 1.0. Потом компилятор Java 1.0 захлебнулся. И мне пришлось перейти на компилятор Java 1.1. Который компилирова код, который код запускался на Java 1.0. Сейчас будет попытка еще раз подняться по ветке компиляторов вверх и компилировать уже Java 1.2, чтобы по прежнему запускать на Java 1.0
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 08:42 | Сообщение # 846 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Фух! Пока нашел ошибку... Наконец-то появился список поездов и времени работы лок бригад "впринципе".
 Уф! Можно выдохнуть. Теперь список требуется "уточнять" и "проверять", а потом прикручивать графическую часть.
| | |
| |
| olegpersh999 | Дата: Вторник, 16.06.2026, 08:59 | Сообщение # 847 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 373
Награды: 4
Репутация: 3
Статус: Online
| Это номер поезда и время в минутах?
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 09:44 | Сообщение # 848 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Цитата olegpersh999 (  ) Это номер поезда и время в минутах? Да. Типа "на текущий момент". В будущем там всё красиво будет в отдельном окне с часами и минутами.
ps. Пока столкнулся с проблемой. Поезд, когда "снимается" с полигона Невой, получает временный признак "снят" в файле save.sav, но из списка не удаляется. Я опираюсь на этот признак, чтобы удалить поезда "ушедшие" с полигона. Но выяснилось, что через некоторое время поезд и из списка удаляется. DSim найти поезд не может и считает, что "возможно, мы живем без save.sav, будем ждать признак "расформирован!" в GID.txt". А нева его, признак расформирования, туда не посылает для поездов, уехавших на север. Легкий "тупиг".
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 10:16 | Сообщение # 849 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Списочек, однако, огого! 
| | |
| |
| olegpersh999 | Дата: Вторник, 16.06.2026, 12:07 | Сообщение # 850 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 373
Награды: 4
Репутация: 3
Статус: Online
| V9, а через дробь это что?
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 13:18 | Сообщение # 851 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Альфа-релиз "учет локомотивного времени бригад" v0.5.8.8a. На данный момент таблица рабочего выводится и обновляется в консоли в момент, когда DSim получает команду на обновление ГИДа. Было много косяков, буду еще улучшать, тестировать и добавлять вывод в графическое окно. Но скорей всего - послезавтра.
Сведения о присвоении времени берутся из polygon.dat внутри каталога Territory\1. Можно донастроить "под себя" при желании. Если потребуются разъяснения, спрашивайте, расскажу!Добавлено (16.06.2026, 13:19) ---------------------------------------------
Цитата olegpersh999 (  ) V9, а через дробь это что? ID поезда, уникальный идентификатор поезда. Использую для себя при отладке, чтобы понять что за поезд.
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 13:23 | Сообщение # 852 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
|  Номер поезда, его ID (в граф интерфейсе не будет), сколько бригада работает, на какой станции бригада, условно, села, и на какой станции данный поезд был замечен в последний раз.
Для поездов с севера время назначается по УЯ так как северный участок - ИЯ и Покачи - не пишутся в GID.txt Невой и моя прога просто о тех поездах не знает.
Поезда удаляются из списка немедленно по прибытию в Сургут или НВ1 или если Нева его "удалила" у себя в save.sav (для северного хода).Добавлено (16.06.2026, 13:23) --------------------------------------------- Отрицательное время, условно "бригада еще не явилась в поездку".
| | |
| |
| olegpersh999 | Дата: Вторник, 16.06.2026, 13:26 | Сообщение # 853 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 373
Награды: 4
Репутация: 3
Статус: Online
| пошел тестировать Добавлено (16.06.2026, 13:33) --------------------------------------------- Сразу же казус. Лок.бригада у поезда 332 9 минут на работе. Такого не может быть. Машинист пришел в депо, прошел мед.комиссию и вставил кассету в устройство специальное (не помню как называется) и с этого момента пошла у машиниста явка. Пока он дошел из депо до своего локомотива время его уже идет. Пока он принял локомотив пока оттормозился время уже где-то за час на работе должно быть.
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 13:44 | Сообщение # 854 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Я не знаю, как сейчас, но раньше явка была с момента прихода в депо. Далее отсчитывалось время на прохождение медкомиссии, на приемку тепловоза и т.п. Был норматив времени "выезда на контрольный пост", 40 минут помоему. То есть, не с момента вставления кассеты. Однажды мы в депо Сургут куковали 6 часов, так как не было свободного тепловоза. Потом нам тепловоз нашли и мы за 6 оставшихся часов доехали до Демьянки.
Я пока что сделал "широкий размах" начала времени. Это моделирует две возможные "необычные" ситуации: 1. Бригада ждала поезд в депо, время явки уже шло. 2. Бригаду не нашли вовремя. Скажем, пассажирская бригада приехала с опозданием и ее время отдыха еще не вышло, чтобы уехать обратно.
Параметры назначения времени находятся в polygon.dat, там можно "подкрутить" как угодно.
| | |
| |
| olegpersh999 | Дата: Вторник, 16.06.2026, 14:34 | Сообщение # 855 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 373
Награды: 4
Репутация: 3
Статус: Online
| Цитата V9 (  ) Параметры назначения времени находятся в polygon.dat, там можно "подкрутить" как угодно. понял) так вроде все показывает, время обновляется. Теперь реально видно кто где стоит и уже где заканчивается время работы лок.бригады планируешь скорейшее продвижение поезда до конца явки. Еще бы списки разделить на четные и нечетные поезда
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 14:58 | Сообщение # 856 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Апдейт! 0.5.8.8b. По просьбе Олега поезда разделены на четные и нечетные. Релиз-апдейт, ставим сначала альфу, на нее накатываем бету.
| | |
| |
| olegpersh999 | Дата: Вторник, 16.06.2026, 15:01 | Сообщение # 857 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 373
Награды: 4
Репутация: 3
Статус: Online
| V9, О-оперативность) Спасибо большое)
| | |
| |
| V9 | Дата: Вторник, 16.06.2026, 19:20 | Сообщение # 858 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Настройка назначения времени работы локбригад. В данный момент сведения находятся в секции [Simple_Crew_Time_Accounting] файла polygon.dat. В текущей версии выглядит так: Код [Simple_Crew_Time_Accounting] ; Упрощенный учет рабочего времени локомотивных бригад до введения более детального ; 1 - Станция учета времени, место, где поезд впервые появился на полигоне, 41 = Сургут ; 2 - Количество диапазонов станций назначений поезда, если "в любое направление", то используем 0. Иначе указываем количество пар диапазонов, а потом - сами диапазоны станций назначений ; 3 - Количество диапазонов станций прихода данного поезда на полигон. Используется для уточнения рабочего времени бригад при подходе поездов с разных направлений. 0 - не учитываем, если не ноль, то аналогично п.2 ; 4 - Четные/нечетные поезда. 1 - нечетные, 2 - четные, 3 или 0 - все поезда ; 5 - Количество диапазонов номеров поездов. Позволяет уточнить рабочее время для разных номеров поездов. 0 - все номер, если не ноль, то аналогично п.2 ; 6 - Минимально возможное начальное время на работе на момент прибытия/формирования поезда. Может быть меньше нуля, означает, что бригада еще не пришла на работу. ; 7 - Значение "один-сигма" слева от среднего значения. В диапазон плюс-минус "одна-сигма" от среднего попадет 68% всех значений установки рабочего времений. ; 8 - Среднее значение рабочего времени на момент прибытия. ; 9 - Значение "один-сигма" справа от среднего значения. ;10 - Максимально возможное начальное время на работе. ; FFFFh - конец
41, 0, 0, 3, 0, -120, -60, 0, 60, 180 46, 0, 0, 3, 0, 240, 300, 360, 420, 700 56, 0, 0, 3, 0, -240, -150, -120, -60, 0 56, 0, 0, 3, 2, 1, 999, 6001, 7999, -180, -120, -60, -40, -20 56, 2, 1, 45, 120 ,141, 1, 56, 56, 3, 2, 1, 999, 6001, 7999, -180, -120, -60, -40, -20
FFFFh
Начинается с названия секции, потом объяснения через точку с запятой (символ комментария), далее - строки настроек. Первое число строки - станция настройки, это станция где поезд появится впервые одним из вариантов: (а) прибытие; (б) проследование; (в) формирование; (г) назначение номера. 41 - Сургут, 46 - Ульт-Ягун, 56 - НВ1. Коды станций находятся в секции [DataS_Stanz_Name] файла data.dat. Второе число - это назначения поезда. Назначение читается из файла save.sav. Если назначений нет, то там 0. Если есть, то пишется количество пар назначений, а пишутся пары. Пример. Назначение на юг будет из двух диапазонов: 1-40 и 120-141. Эти две пары диапазонов можно закодировать так: 46, 2, 1, 40, 12, 141. 46 - УЯ, 2 - количество пар, далее - две пары, или четыре числа.
Затем идет число: "откуда состав прибыл". На текущий момент это не учитывается вообще, но принцип будет такой же. Количество пар диапазонов станций, а потом сами диапазоны станций.
Следующее число: четные/нечетные. 1 - нечетные; 2 - четные; 3 либо 0 - все поезда. Следующее число: количество пар диапазонов номеров поездов. И затем - сами пары диапазонов. И последние пять чисел - это настройка параметров случайности, разберу отдельным постом. На данный момент там числа "на глаз".
Когда программа находит подходящую строку, она не останавливается, а идет дальше, пытаясь найти следующу. Поэтом рекомендую сначала давать некие "общие" параметры, а следующими строками "уточнять".
В конце фирменная Zork'овская фишка - FFFFh как признак конца секции. только так.
Разберем последнюю строку: "56, 2, 1, 45, 120 ,141, 1, 56, 56, 3, 2, 1, 999, 6001, 7999, -180, -120, -60, -40, -20" 56 - НВ1. 2 - два диапазона назначений 1, 45 - "от Тобольска до Вач-Ягуна". (ps. Это я ошибся) 120, 141 - Войновка и всё далее на юга. 1 - один диапазон создания поезда 56, 56 - НВ1 только. 3 - все поезда. 2 - два диапазона номеров 1, 999 - первый диапазон номеров, пассажирские поезда с 1 номера по 999 6001, 7999 - второй диапазон номеров, это пригородные.
Итого: "Все пассажирские и пригородные, созданные в НВ1, следующие на юга, четным или нечетным номером".
-180, -120, -60, -40, -20 - это параметры назначения времени явки бригады, разберу следующим постом.
| | |
| |
| V9 | Дата: Среда, 17.06.2026, 03:33 | Сообщение # 859 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Настраиваем параметры генерации времени. Практически все случайные процессы в мире подвержены "нормальному распределению": случайные числа будут группироваться вокруг некоего среднего параметра μ. В нашем случае - в среднем поезда будут приезжать за время Икс, возле Икса будет максимальное количество поездов и чем дальше мы считаем время от Икса влево и вправо, тем меньше поездов приедет в этот промежуток. График нормального распределения формирует колокол, "разброс" колокола определяется параметром сигма σ, где график колокола из выпуклого становится вогнутым.
 Внутри плюс-минус сигмы приедет 68.26% поездов. Я взял расписание грузовых поездов и высчитал, сколько они по расписанию едут с Ноябрьска до Ульт-Ягуна:
251 2933 266 2927 300 2923 303 2925 314 3205 333 2921 351 2935 403 2931
9 поездов. Среднее значение μ у нас получится 307.44 минуты ((251 + 266 + 300 + 314 + 333 + 351 + 403) / 9), округляем - 307. Сколько поездов должно попасть в 68.26%? 9 поездов * 0,6826 = 6,1434 ≈ 6.
307 минут лежит между поездам 2925 (303) и 3205 (314). То есть берем по три поезда (6/2) в меньшую и большую сторону. Три туда и три сюда как раз дадут нам 68% внутри колокола. Слева будут поезда 2927, 2923, 2925, справа -- 3205, 2921, 2935. Считаем сигму влево и вправо: 307 (средняя) - 266 (время 2927) = 41. 351 (2935) - 307 (средняя) = 44.
Приложенная сигма 44 влево (307 - 44 = 263) будет все равно больше чем время 251 от поезда 2933, то есть поезд 2933 не попадет в колокол. Сигму немного увеличим, чтобы более активно задействовать промежутки между поездами внутри колокола и снаружи. До 48. 307 - 48 = 259 слева. 307 + 48 = 355 справа.
(Еще более точно сигма считается если нагуглить формулу "расчет сигмы для генеральной совокупности". Рассчитанное по формуле наше значение даст сигму 47,70)
Отлично! Из этих 5 "хвостовых" чисел в полигоне определили 3: _, 259, 307, 355, _
Еще два числа, "Левая" и "правая" граница определяют лимиты "не может быть меньше, чем поезд физически может проехать" и "не может быть больше чем 11 часов". По расписанию, поезд может проехать от Ноябрьска минимум за 202 минуты, а сдать нам поезд диспетчер, будем считать, может не менее чем за час до конца времени(11 часов или 660 минут). Промежуточный набор данных чисел:
202, 259, 307, 355, 660.
Почему "промежуточный"? Потому что в этих числах не учтено время "от явки до отправления". Тут у на сведений нет, поэтому возьмем "волюнтаристки" 35 минут. Эти 35 минут нужно добавить в первые 4 числа: 237, 294, 342, 390, 660
Собираем полную строку по УЯ: "Для нечетных грузовых по УЯ (два диапазона номеров - 1001 по 5999 и с 8001 по 9999, нижний лимит - 237 минут, среднее минус левая сигма - 294, среднее 342, среднее плюс правая сигма - 390, максимум - 660". Код 46, 0, 0, 1, 2, 1001, 5999, 8001, 9999, 237, 294, 342, 390, 660
Можно вставлять в polygon.dat. Симулятор при приходе грузового и назначении времени будет максимально точно отражать то, что увидит диспетчер по Ульт-Ягуну.
Добавлено (17.06.2026, 04:32) --------------------------------------------- Последнее, что осталось рассмотреть. Не всегда колокол будет симметричным. Пример. Нормативный осмотр поездов - 60 минут. На уменьшение у нас колокол падает вертикально вниз: в лучшем случае осмотрят за 50 минут. А справа - хз сколько, зависит от того, сколько неисправностей найдут. Поэтому можно заложить примерно такие числа: 45, 55, 60, 75, 120. минимум - 45 минут. Слева сигма 5 минут (60 - 55), справа - 15 (75 - 60), максимально предельно пусть будет 120 минут.
Как прога будет считать? Сначала она посчитает доли слева и справа. Общая ширина сигм: 75 - 55 = 20 минут. Из них слева 25% (5 / 20), а справа - 75% (15 / 20). То есть, до 25%(0.25) включительно - это слева, свыше - справа. Прога сгенерит случайное число от 0 до 1 и сравнит с левой границей 0.25. Если число от 0 до 0.25, то прога будет использовать левую часть колокола и сигму от нее и границу будет проверять слева. Если больше - то правую часть. То есть, 25% чисел ляжет слева, 75% - справа. Что и максимально точно смоделирует осмотр вагонов.
Вот прога, где используется часть алгоритма из DSim с этими значениями:
Код import java.util.Random;
class Main { public static void main(String[]args) { int leftLimit = 45; int leftSigma = 55; int mean = 60; int rightSigma = 75; int rghtLimit = 120; Random r = new Random(); int[]hits = new int[120 / 5]; int value; for (int i = 0; i < 100000; i++) { if (r.nextDouble() <= leftFraction) { // use left while((value = (int)(mean - Math.abs(r.nextGaussian() * (mean - leftSigma)))) < leftLimit); } else { // use right while((value = (int)(mean + Math.abs(r.nextGaussian()* (rightSigma - mean)))) > rghtLimit); } hits[(value / 5) - 1]++; } for (int i = 0; i < hits.length; i++){ System.out.println((((i + 1) * 5) < 10 ? " " : (((i + 1) * 5) < 100 ? " " : "")) + ((i + 1) * 5) + ":" + hits[i]); } } }
Ее можно загрузить в любой онлайн Java компилятор (гуглить Java Online Compiler) И запустить несколько раз. Времена сгруппированы по пять минут, чтобы было четко видно. Один из выводов:
Код 5:0 10:0 15:0 20:0 25:0 30:0 35:0 40:0 45:1047 50:6914 55:17187 60:19585 65:17527 70:13945 75:10222 80:6394 85:3830 90:1836 95:911 100:376 105:158 110:50 115:17 120:1
Хорошо видна и колоколообразность и неравность колокола. Максимально количество осмоторов значения сосредоточены на 60 минутах, влева резкий обрыв, вправо - плавный спуск.
Сообщение отредактировал V9 - Среда, 17.06.2026, 04:34
| | |
| |
| V9 | Дата: Среда, 17.06.2026, 04:56 | Сообщение # 860 |
|
Поездной диспетчер
Группа: Пользователи
Сообщений: 798
Награды: 14
Репутация: 3
Статус: Offline
| Апдейт 0.5.8.8с. После написания гайда нашел и исправил ошибку у себя в генерации времени локомотивных бригад.
| | |
| |
|