Перейти к содержимому

hohserg

Пользователи
  • Публикации

    433
  • Зарегистрирован

  • Посещение

  • Победитель дней

    37

Сообщения, опубликованные пользователем hohserg


  1. В 22.07.2020 в 10:12, eu_tomat сказал:

    Но при сильном снижении TPS сервера можно и не успеть произвести замену. Особенно, если требуется заменить более одного отражателя за раз.

    Реактор работает независимо от тиков?

     

    А реактор вообще детерминированно работает? И без псевдорандома? Если да, то можно во время работа программы запоминать требуемые действия по замене кондеров и как только найдется периодический процесс - крутить записанные действия в цикле без проверки слотов. Если совместить такой подход с независимой от тиков реализацией os.sleep, то это должно дать хороший результат

     

      

    15 часов назад, serafim сказал:

    Перебор всех 54 ячеек реактора занимает 2,9 секунды

    А ведь не все слоты заняты конденсаторами, можно чекать только слоты с расходниками, а не все подряд


  2. А за сколько примерно можно чекнуть 13 слотов со старым апи? Если это не слишком большая задержка, то можно просто офать реактор до проверки и врубать после проверки и замены конденсаторов.

    • Нравится 1

  3. Самое простое:

    прочитать файл целиком

    распарсить и получить таблицу с данными

    как-то обработать

    преобразовать таблицу в строку

    сохранить в файл

     

    Для работы с файлами можно юзать сам компонент filesystem или библиотеку io

    Для преобразования между строкой и таблицей можно использовать библиотеку serialisation или написать че-то свое


  4. GradleWrapper предназначен для того, чтобы сделать воркспейсы более переносимыми. Не факт, что твоя глобальная версия Gradle правильно все сделает по билд-скрипту. С другой стороны враппер позволяет всем разработчикам проекта иметь идентичный воркспейс, если заработало(или не заработало) у одного, то аналогично будет у всех.

     

      

    22 часа назад, eu_tomat сказал:

    приступить к поиску оптимального алгоритма управления нагрузкой, или же всё таки освоить работу с IDE хотя бы на базовом уровне

    Т.к. скорее всего такой алгоритм будет зависеть от аспектов игры(типо, тпс, отгрузка чанков), то скорее всего понадобится вносить изменения в код самого мома, смотреть исходники игры. Поэтому будет хорошей идей попробовать работать в идее(:lol:), она довольно хорошо заточена под скалу

    • Нравится 1

  5. Возможно, фичу распределения одинаковых компонентов между программами имеет смысл сделать через механику primary-компонентов(__index метатаблицы component) и через кастомное упорядочивание результатов compoent.list

    Тогда программы без изменений смогут работать


  6. Ок, такой метод подсчета действительно ошибочный, потому что монитор прямоугольник, а не линия. С учетом пикселей символов разрешение монитора т3 - 1280x800, поэтому нужно 27 проекторов по горизонтали и 17 по вертикали, что составляет 459. 


  7. 23 часа назад, eu_tomat сказал:

    Вернее будет говорить не о количестве проекторов на один символ, а о количестве символов, отображаемых одним проектором.

    Если один проектор позволяет отобразить 18 символов, то нужно 1/18 проекторов для одного символа. Конечно, поделить проектор нельзя, но такое представление удобно, чтобы подсчитать, столько проекторов дадут разрешение эквивалентное монитору. На мониторе т3 8000 символов(160*50), без учета символов двойной ширины нужно 445 проекторов


  8. 14 часа назад, eu_tomat сказал:

    За счёт чего чанклодер загружает область 3x3 чанка, я вижу. А за счёт какого кода он загружает чанки заранее, до того как робот пересёк границу чанка?

    За счет того, что он грузит область 3*3. Он все время грузит текущий чанк и любой в который может перейти


  9. 7 часов назад, eu_tomat сказал:

    Какой сдвиг имеется в виду? Время полного оборота робота по кругу? Или время единичного сдвига?

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

      

    7 часов назад, eu_tomat сказал:

    как можно управлять временем загрузки или выгрузки чанка

    Можно например сделать кастомный блок для управления прогрузкой чанков, который будет делать это через тикеты прогрузки, а не игроками. По идее это даст точность до тика


  10.   

    5 часов назад, eu_tomat сказал:

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

    Робот сдвигается по прямой или спирали, при этом считает в переменной количество сдвигов себя как блока.

    При этом мы загружает чанк на несколько сек, потом отгружаем на несколько сек и повторяем это. Время фазы прогрузки чанка не должно быть кратно времени сдвига робота.

    Спустя некоторое количество итераций смотрим счетчик робота и реальное количество преодоленных блоков

     

    Такой способ по идее лучше движения по кругу, ибо исключает двойную ошибку(когда две и больше ошибки исправляются эффекты друг друга)

    • Нравится 1

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

    Также, если приемлемо юзать интернет-карту, можно обращаться к апи scalc(если есть), чтобы получить НОД


  12. Если есть n вариантов сканирования(при n>3) такие, что для них всех существует единственный общий делитель, то этот делитель является расстоянием между соседними шумами

    • Нравится 1
×
×
  • Создать...