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

Лидеры


Популярный контент

Показан контент с высокой репутацией 19.02.2019 во всех областях

  1. 3 балла
    Тут на днях обновленная софтина Multiscreen в маркет затесалась - добавлена группировка по цветам для гораздо более быстрой отрисовки жирных пикч. Правда, чем жирнее пикча, тем дольше будет обрабатываться каждый моник, но и это уже заметный прогресс:
  2. 1 балл
    В этой статье я попытаюсь рассказать основные принципы работы большинства известных ядерных реакторов и показать как из собирать. Статью разобью на 3 раздела: ядерный реактор, моксовый ядерный реактор, жидкостный ядерный реактор. В дальнейшем, вполне возможно, буду что то добавлять/менять. Так же просьба писать только по теме: к примеру моменты что были мной забыты или например полезные схемы реакторов которые выдают большой кпд, просто большой выход или предполагают автоматизацию. По поводу же отсутствующих крафтов рекомендую пользоваться русской вики или игровым НЕИ. Так же перед работой с реакторами хочу обратить ваше внимание на то, что устанавливать реактор необходимо целиком в 1 чанке (16х16, сетку вывести можно нажав F9). Иначе корректная работа не гарантируется, ведь иногда в разных чанках время течет по разному! Особенно актуально это относится к жидкостному реактору имеющему в своем устройстве множество механизмов. И еще один момент: установка более 3х реакторов в 1 чанке может привести к плачевным последствиям, а именно лагам на сервере. И чем больше реакторов - тем больше лагов. Распределяйте их равномерно по площади! Обращение игрокам играющем на нашем проекте: при нахождении администрацией более 3х реакторов на 1 чанке (а они найдут) все лишние уйдут под снос, ибо думайте не только о себе но и об остальных игроках на сервере. Лаги никому не по нраву. 1. Ядерный реактор. По сути своей все реакторы являются генераторами энергии, но в то же время это довольно непростые для игрока многоблочные структуры. Работать реактор начинает только после подачи на него редстоун сигнала. Топливо. Ядерный реактор самого простого типа работает на уране. Внимание: прежде чем работать с ураном позаботьтесь о безопасности. Уран радиоактивен, и отравляет игрока не снимаемым отравлением что будет висеть до окончания действия или летального исхода. Необходимо создать комплект хим защиты (да да) из резины, он защитит вас от неприятного воздействия. Урановую руду, что вы находите необходимо продробить, промыть (по желанию), и закинуть в термальную центрифугу. В итоге мы получаем 2 типа урана: 235 и 238. Соединив их на верстаке в пропорции 3 к 6 мы получим урановое топливо которое необходимо закатать в топливные стержни в консерваторе. Полученные стержни вы уже вольны использовать в реакторах как вам заблагорассудится: в изначальном виде, в виде двойных или счетверенных стержней. Любые урановые стержни работают в течении ~330 минут, это около пяти с половиной часов. После своей выработки стержни превращаются в обедненные стержни которые необходимо зарядить в центрифугу (больше с ними ничего не сделать). На выходе вы получите почти весь 238 уран (4 из 6 на стержень). 235 же уран превратится в плутоний. И если первое вы можете пустить на второй круг просто добавив 235, то второе не выкидывайте, плутоний вам пригодится в дальнейшем. Рабочая зона и схемы. Сам реактор это блок (ядерный реактор) имеющий внутреннюю ёмкость и ее желательно увеличивать для создания более эффективных схем. При максимальном увеличении реактор будет окружен с 6-ти сторон (со всех) реакторными камерами. При наличии ресурсов рекомендую использовать его именно в таком виде. Готовый реактор: Реактор будет выдавать энергию сразу в eu/t, что означает, что к нему можно просто подцепить провод и запитывать с него уже то что вам нужно. Реакторные стержни хоть и выдают электроэнергию, но вдобавок они выделяют тепло, которое, если не рассеивать может привести к взрыву самой машины и всех ее компонентов. Соответственно помимо топлива вам необходимо позаботиться об охлаждении рабочей зоны. Внимание: на сервере ядерный реактор не имеет пассивного охлаждения, как самих отсеков (как написано на викии) так и от воды/льда, с другой стороны от лавы он тоже не нагревается. То есть нагрев/охлаждение ядра реактора происходит исключительно при взаимодействии внутренних компонентов схемы. Схема это - набор элементов состоящих из охлаждающих реактор механизмов а так же самого топлива. От нее зависит сколько будет выдавать реактор энергии и будет ли он перегреваться. Смеха может состоять из стержней, теплоотводов, теплообменников, реакторных пластин (основное и наиболее часто используемое), так же охлаждающие стержни, конденсаторы, отражатели (редко используемые компоненты). Их крафты и назначение я расписывать не буду, все смотрите на викии, у нас это работает так же. Разве что конденсаторы сгорают буквально за 5 минут. В схеме помимо получения энергии необходимо полностью погасить выходящее тепло от стержней. Если тепла больше чем охлаждения то реактор взорвется (после определенного нагрева). Если больше охлаждения, то он будет работать до полной выработки стержней, в перспективе вечно. Схемы для ядерного реактора я разделил бы на 2 типа: Наиболее выгодные по кпд на 1 урановый стержень. Баланс затрат урана и выхода энергии. Пример: 12 стержней. Эффективность 4.67 Выход 280 еу/т. Соответственно получаем 23.3 еу/т или 9 220 000 энергии за цикл (примерно) с 1 уранового стержня. (23.3*20(тактов в секунду)*60(секунд в минуте)*330(длительность работы стержней в минутах)) Наиболее выгодные по выходу энергии на 1 реактор. Тратим максимум урана и получаем максимум энергии. Пример: 28 стержней. Эффективность 3 Выход 420 еу/т. Тут уже имеем 15 еу/т или 5 940 000 энергии за цикл на 1 стержень. Какой вам вариант ближе смотрите сами, однако не забывайте, что второй вариант даст больший выход плутония ввиду большего количества стержней на реактор. Плюсы простого ядерного реактора: + Довольно неплохой выход энергии на начальном этапе при использовании экономичных схем даже без доп реакторных камер. Пример: + Относительная простота в создании/использования в сравнении с другими типами реакторов. + Позволяет использовать уран уже практически в самом начале. Нужна разве что центрифуга. + В перспективе один из мощнейших источников энергии в индастриал моде и на нашем сервере в частности. Минусы: - Все же требует некоторую оснащенность в плане индастриал машин а так же знаний по их использованию. - Выдает относительно небольшое количество энергии (малые схемы) или просто не слишком рациональное использование урана (цельный реактор). 2. Ядерный реактор на MOX топливе. Отличия. По большому счету сильно похож на реактор работающий на уране, однако с некоторыми отличиями: Использует как понятно из названия моксовые стержни, которые собираются из 3х больших кусочков плутония (останется после обеднения) и 6ти 238го урана (238 уран перегорит в кусочки плутония). 1 большой кусок плутония это 9 маленьких, соответственно чтобы сделать 1 моксовый стержень необходимо сперва пережечь в реакторе 27 урановых стержней. Исходя из этого можно сделать вывод, что создание мокса это трудоёмкая и длительная затея. Однако могу вас уверить, выход энергии с такого реактора будет в разы выше чем с уранового. Вот вам пример: Во второй точно такой же схеме вместо урана стоит мокс и реактор разогрет почти до упора. В итоге выход почти пятикратный (240 и 1150-1190). Однако имеется и отрицательный момент: мокс работает не 330, а 165 минут (2 часа 45 минут). Небольшое сравнение: 12 урановых стержней. Эффективность 4. Выход 240 eu/t. 20 за такт или 7 920 000 еу за цикл на 1 стержень. 12 моксовых стержней. Эффективность 4. Выход 1180 eu/t. 98.3 за такт или 19 463 000 еу за цикл на 1 стержень. (длительность меньше) Основной принцип работы охлаждения уранового реактора - переохлаждение, моксового - максимальная стабилизация нагрева охлаждением. Соответственно при нагреве 560 у вас охлаждение должно быть 560, ну или чуть чуть меньше (небольшой нагрев допускается, но об этом чуть ниже). Чем больше процент нагрева ядра реактора, тем больше выдает энергии моксовые стержни не повышая при этом выработку тепла. Плюсы: + Использует практически незадействованное в урановом реакторе топливо, а именно 238 уран. + При правильном использовании (схема+нагрев) один из самых лучших источников энергии в игре (относительно продвинутых солнечных панелей из мода Advanced Solar Panels). Выдавать часами заряд в тысячу еу/тик способен только он. Минусы: - Сложен в обслуживании (нагрев). - Использует не самые экономичные (из-за необходимости автоматизации во избежании потери тепла) схемы. 2.5 Внешнее автоматическое охлаждение. Немного отступлю от самих реакторов и расскажу про доступное для них охлаждение что есть у нас на сервере. А конкретно про Nuclear Control. Для корректного использования нуклеар контроля так же необходим Red Logic. Касается только контактного датчика, для дистанционного это необязательно. Из данного мода как можно было догадаться нам необходимы датчики температуры контактный и дистанционный. Для обычного уранового и мокс реакторов достаточно контактного. Для жидкостного (в силу конструкции) уже необходим дистанционный. Контактный устанавливаем как на изображении. Расположение проводов (freestanding red alloy wire и red alloy wire) роли не играет. Температура (зеленое табло) настраивается индивидуально. Не забываем перевести кнопку в положение Пп (изначально она пП). Контактный датчик работает так: Зеленое табло - он получает данные о температуре а так же это означает что она в пределах нормы, он дает сигнал редстоуна. Красный - ядро реактора перешло указанную в датчике температуру и он перестал подавать сигнал редстоуна. Дистанционный практически так же. Основное отличие как понятно из его названия он может выдавать данные о реакторе издалека. Получает он их с помощью набора с дистанционным датчиком (ид 4495). Еще он по умолчанию кушает энергию (у нас отключено). Так же занимает блок целиком. 3. Жидкостный ядерный реактор. Вот и подходим к последнему типу реакторов, а именно жидкостному. Называется он так потому, что уже относительно нехило приближен к реальным реакторам (в рамках игры конечно). Суть такова: стержни выделяют тепло, охлаждающие компоненты это тепло переводят на хладагент, хладагент отдает это тепло через жидкостные теплообменники в генераторы стирлингов, те же преобразуют тепловую энергию в электрическую. (Вариант использования такого реактора не единственный, но пока, субъективно самый простой и эффективный.) В отличии от двух предыдущих типов реакторов перед игроком стоит задача не максимально увеличить выход энергии с урана, а балансировать нагрев и возможность схемы отводить тепло. Эффективность выхода энергии жидкостного реактора основывается на исходящем тепле, но ограничена максимальным охлаждением реактора. Соответственно если вы поставите в схеме 4 4х стержня квадратом, вы просто не сможете их охладить, вдобавок схема будет не шибко оптимальна, и эффективный отвод тепла будет на уровне 700-800 ет/t (единиц тепла) во время работы. Надо ли говорить, что реактор с таким количеством стержней установленных вплотную будет работать 50 или максимум 60% времени? Для сравнения оптимальная найденная схема для реактора из трех 4х стержней выдает уже 1120 ед тепла на протяжении 5 с половиной часов. Пока что более менее простая (бывает значительно сложнее и затратнее) технология использования такого реактора дает 50% выход от тепла (стирлинги). Что примечательно, сам выход тепла умножается на 2. Перейдем к самой постройки реактора. Даже среди многоблочных структур майнкрафта является субъективно очень большой и сильно кастомизируемой, но тем не менее. Сам реактор занимает площадь 5х5, плюс возможно установленные блоки теплообменников+стирлинги. Соответственно итоговый размер 5х7. Не забываем про установку всего реактора в одном чанке. После чего готовим площадку и выкладываем реакторные корпуса 5х5. Далее закладываем с 4 из 6 сторон реакторные корпуса, и оставляем пустыми 14 центральных блоков с 2х любых сторон. Затем устанавливаем внутрь в самый центр полости обычный реактор с 6 реакторными камерами. Не забываем использовать набор для дистанционного датчика на реакторе, в дальнейшем мы не сможем до него добраться. В остальные пустые слоты оболочки вставляем 12 реакторных насосов + 1 реакторный проводник красного сигнала + 1 реакторный люк. Получится должно к примеру так: После чего необходимо заглянуть в реакторный люк, это наш контакт с внутренностями реактора. Если все сделали правильно то интерфейс изменит вид на такой: Самой схемой мы займемся позже, а пока продолжим установку внешних компонентов. Во первых необходимо в каждый насос вставить по жидкостному выталкивателю. Ни в данный момент, ни в дальнейшем они не требуют настройки и будут работать корректно в варианте "по умолчанию". Проверяем лучше по 2 раза, не разбирать же это все потом. Далее устанавливаем на 1 насос по 1 жидкостному теплообменнику так, чтобы рыжий квадрат смотрел от реактора. После чего забиваем теплообменники по 10 теплопроводов и 1 жидкостному выталкивателю. Проверяем все еще раз. Дальше ставим генераторы стирлинга на теплообменники так, чтобы они смотрели своим контактом на теплообменники. Развернуть их в противоположную сторону от стороны которой касается ключ можно зажав шифт и кликнув по необходимой стороне. Получится в итоге должно так: Затем в интерфейсе реактора в левый верхний слот помещаем с десяток капсул хладогента. После чего соединяем все стирлинги кабелем, это наш по сути механизм что выводит энергию со схемы реактора. На проводник красного сигнала ставим дистанционный датчик, и устанавливаем его в положение Пп. Температура роли не играет, можно оставить и 500, ведь по факту он не должен греться вообще. Подводить кабель к датчику необязательно (у нас на сервере), он будет работать и так. Далее устанавливаем такую схему: Она будет выдавать 560х2=1120 ет/т за счет 12 стирлингов мы их выводим в виде 560 еу/т. Что довольно неплохо с 3х счетверенных стержней. Схема так же удобна для автоматизации, но об этом несколько позже. Плюсы: + Выдает около 210% энергии относительно стандартного уранового реактора при такой же схеме. + Не требует постоянного контроля (как к примеру мокс с необходимостью поддерживать нагрев). + Дополняет мокс используя 235 уран. Позволяя вкупе выдавать максимум энергии из уранового топлива. Минусы: - Весьма дорог в постройке. - Занимает порядочно места. - Требует определенных технических знаний. Общие рекомендации и наблюдения по жидкостному реактору: - Не используйте в реакторных схемах теплообменники. В следствии механики жидкостного реактора они будут аккумулировать выходящее тепло если вдруг будет происходить перегрев, после чего сгорят. По этой же причине охлаждающие капсулы и конденсаторы в ней просто бесполезны, ведь они забирают все тепло. - Каждый стирлинг позволяет вывести 100ед тепла, соответственно имея в схеме 11.2 сотни тепла нам было необходимо установить 12 стирлингов. Если ваша система будет выдавать к примеру 850 ед, то их будет достаточно всего 9 штук. Учитывайте что недостаток стирлингов будет приводить к нагреву системы, ведь избыточному теплу будет некуда деваться! - Довольно устаревшую, но все же юзабельную программу для расчета схем для уранового и жидкостного реактора, а так же отчасти мокса можно взять здесь - Имейте ввиду, если энергия с реактора не будет уходить, то буфер стирлингов переполнится и начнется перегрев (теплу будет некуда идти) P.S. Выражаю благодарность игроку MorfSD который помогал в сборе сведений для создания статьи и просто участвовал в мозговом штурме и отчасти реактора. Разработка статьи продолжается...
  3. 1 балл
    Трехмерная печать в Minecraft (инструкции для самых маленьких) Начиная с версии 1.5.4, в OpenComputers появляется интересный девайс - трехмерный принтер. Он дает возможность печатать декоративные блоки любой формы и цвета. Причем не только статичные блоки, но и двери/люки, кнопки и рычаги! Давайте рассмотрим, для чего он может пригодиться, и как именно с ним работать. 1. Цель Как и в предыдущих гайдах, первым делом поставим себе цель. Мы будем создавать стенную плитку со сквозным орнаментом, в виде морды крипера. Я не буду приводить в этом гайде рецепты предметов, так как их легко найти в NEI, или в статьях на gamepedia. 2. Обзор принтера 3D-принтер - это периферическое устройство, которое должно быть подключено к работающему компьютеру. Оно представляет собой блок, с двумя внутренними слотами: Верхний слот предназначен для специальной печатной массы (изготовляется из редстоуна, гравия, древесного угля и воды). Принтер вмещает два стека печатной массы (256 000 ед). Нижний слот занимает картридж с красителями. Объем внутреннего хранилища - два картриджа краски (100 000 ед). По команде от компьютера, принтер берет немного печатной массы и краски и "распечатывает" в крайний правый слот запрограммированную модель. На модель из этого гайда, состоящую из 21 фигуры, принтер потратил 424 единицы массы и 314 единиц краски. 3. Отпечатанный блок Модель для печати задается в виде списка "фигур" - параллелепипедов. Каждая фигура отмечена координатами противоположных углов. Она имеет свою текстуру, цвет оттенка (если необходимо) а также состояние (true/false). Максимальное количество фигур в модели - 24, по умолчанию. Координаты блока тремя числами (X, Y, Z) в пределах от 0 до 16. Блок может переключать свое состояние, когда игрок кликает по нему правой кнопкой мыши, или на блок подается сигнал редстоуна. По умолчанию блок имеет форму, заданную блоками с состоянием false, и сменяет ее на форму из блоков с состоянием true, при активации. Кроме того блок имеет несколько дополнительных общих флагов, которые определяют его название, описание и некоторые другие параметры. 4. Программирование принтера Есть два способа распечатать свою модель. Через компонент принтера и прямое управление, либо при помощи стардартной программки print3d от Сангара. 4.1 Компонент принтера Подключение принтера ничем не отличается от подключения любого другого устройства: local com = require('component')local printer = com.printer3d Компонент предоставляет набор функций для управления: reset() - сброс настроек и остановка печати setLabel(value:string) - задаем название будущего блока getLabel():string - получаем текущее название setTooltip(value:string) - задаем описание блока getTooltip():string - получаем описание setRedstoneEmitter(value:boolean) - определяет, излучает ли блок сигнал редстоуна в активированном состоянии isRedstoneEmitter():boolean - возвращает true, если блок излучает сигнал в активном состоянии setButtonMode(value:boolean) - определяем поведение блока при активации. Если true, то блок автоматически возвращается в неактивное состояние через несколько секунд после активации (как кнопка) isButtonMode():boolean - возвращает true, если блок находится в режиме "кнопки" addShape(minX:number, minY:number, minZ:number, maxX:number, maxY:number, maxZ:number, texture:string[, state:boolean=false][,tint:number]) - добавляет новую "фигуру" к форме блока. Фигура задана координатами. texture - название текстуры, state - для какого состояния фигура предназначена, tint - цвет оттенка фигуры getShapeCount():number - возвращает количество фигур в модели getMaxShapeCount():number - возвращает максимально возможное количество фигур commit([count:number]) - посылает принтеру текущую конфигурацию и начинает печать (count - количество копий, если не задано - равно 1) status(): string, number or boolean - возвращает состояние принтера - "buzy" и процент готовности, или "idle" и готовность предмета (true/false). 4.2 Программа print3d Код программы не включен в мод по умолчанию, поэтому его надо скачать из интернета. Последнюю версию можно найти на ГитХабе автора: https://github.com/OpenPrograms/Sangar-Programs/blob/master/print3d.lua Либо скачать с Pastebin: http://pastebin.com/b5rD8KcY (поставьте интернет-плату, и наберите в консоли компьютера команду pastebin get b5rD8KcY print3d) Эта программа по сути, читает параметры модели из текстового файла и передает принтеру. Формат вызова программы: print3d FILE [count] Где FILE - название файла с моделью, а необязательный параметр count - количество копий модели. Модели имеют простой формат - все параметры записываются в таблицу, по аналогии с Луа. Вот образец файла с моделью. { -- Это - название модели. Т.е. название будущего блока, которое будет видно -- в инвентаре и подсказке Waila. Название по умолчанию - "3D Print" label = "Example Model", -- Это описание предмета, такое, как будет видно в инвентаре. Если не задано, -- предмет не будет иметь описания tooltip = "Это демонстрационная модель, показывающая все возможности", emitRedstone = false, --[[ Если этот параметр равен false, блок работает как дверь, сменяя свое состояние при сигнале редстоуна. Если параметр равен true, блок работает как кнопка или рычаг - излучая сигнал при смене состояния. При этом блок не реагирует на сторонний сигнал. По умолчанию параметр равен false. ]] buttonMode = false, --[[ Если этот параметр равен false, модель работает как дверь или рычаг - то есть остается в том состоянии, в которое установлен игроком. Если параметр равен true, модель автоматически возвращается в неактивное состояние через несколько секунд после активации. По умолчанию параметр равен false. ]] -- Это список фигур модели, которые определяют, как она выглядит. -- Модель должна содержать как минимум одну фигуру (параллелепипед) -- в неактивном состоянии. -- Фигуры не могут быть "плоскими" т.е. не иметь объема. -- Каждая фигура задана шестью числами: minX, minY, minZ, maxX, maxY, maxZ. -- (Координаты двух противоположных углов.) -- Если смотреть спереди, ось X направлена вправо, ось Y - вверх и ось Z - вглубь. -- Дополнительно, каждая фигура длолжна обладать текстурой. Для того чтобы -- определить название текстуры, вы можете воспользоваться Определителем Текстуры -- (Texture Picker), кликнув им по нужному блоку. -- -- Модель имеет два состояния - неактивное (false, состояние по-умолчанию) -- и активное (true, состояние после активации блока). shapes = { -- Фигура идет от точки <0, 0, 0> (левый нижний угол) до <8, 8, 8> (середина), -- и имеет текстуру блока лазурита. { 0, 0, 0, 8, 8, 8, texture = "lapis_block" }, -- Фигура идет из точки <8, 8, 8> (середина) в <16, 16, 16> (правый верхний угол), -- и закрашена текстурой дубовой листвы. Фигура принадлежит активному состоянию -- модели и имеет светло-зеленый оттенок. { 8, 8, 8, 16, 16, 16, texture = "leaves_oak", state = true, tint = 0x48B518 } }} Т.е. описание модели просто содержит перечень всех тех параметров, которые задаются при помощи компонента, и список фигур из которых модель состоит. Набор тестовых моделей для изучения, можно найти здесь: https://github.com/OpenPrograms/Sangar-Programs/tree/master/models 5. Проектирование модели Разобьем мысленно рисунок запланированной модели на параллелепипеды. Она будет представлять собой тонкую плитку посередине блока, наподобие стекла или решетки. Руководствуясь сеткой координат и образцом выше, составим описание модели для текстового файла: { label = "Плитка 'Морда крипера'", emitRedstone = true, buttonMode = false, tooltip = "Секретный рычаг в виде головы крипера" shapes={ {0,14,7, 16,16,9, texture="quartz_block_side", tint=0x8eb200}, {0,2,7, 2,14,9, texture="quartz_block_side", tint=0x8eb200}, {6,10,7, 10,14,9, texture="quartz_block_side", tint=0x8eb200}, {14,2,7, 16,14,9, texture="quartz_block_side", tint=0x8eb200}, {2,2,7, 4,10,9, texture="quartz_block_side", tint=0x8eb200}, {4,8,7, 6,10,9, texture="quartz_block_side", tint=0x8eb200}, {10,8,7, 12,10,9, texture="quartz_block_side", tint=0x8eb200}, {12,2,7, 14,10,9, texture="quartz_block_side", tint=0x8eb200}, {6,2,7, 10,4,9, texture="quartz_block_side", tint=0x8eb200}, {0,0,7, 16,2,9, texture="quartz_block_side", tint=0x8eb200}, {0,14,7, 16,16,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {0,2,7, 2,14,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {6,10,7, 10,14,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {14,2,7, 16,14,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {2,2,7, 4,10,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {4,8,7, 6,10,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {10,8,7, 12,10,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {12,2,7, 14,10,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {6,2,7, 10,4,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {0,0,7, 16,2,9, texture="quartz_block_side", tint=0x8eb200, state=true}, {2,2,8, 14,14,9, texture="quartz_block_side", tint=0xe0301e, state=true}}} Итак, наша плитка имеет двойной набор фигур - для двух состояний, окрашенных в текстуру кварца с зеленым оттенком. Кнопка будет работать как рычаг, испуская сигнал в активном состоянии. Откройте файл командой open creeper. Скопируйте код плитки выше и вставьте в файл кнопкой [insert]. Затем сохраните ([Ctrl]+) и покиньте редактор ([Ctrl]+[W]). 6. Печать Все готово, принтер заправлен, модель спроектирована. Отправляем ее на печать! print3d creeper 7. Итоги Enjoy!
  4. 1 балл
    Все-таки добывать руду слоями дольше, чем свободным обходом всех доступных блоков. На тестовом стенде свободный - 2 минуты 50 секунд, послойный - 3 минуты 9 секунд. Тут очень сильно напрашивается дополнительная эвристика на сокращение поворотов и прямых одноблочных ходов. И упаковку запускать только при нужде.
  5. 1 балл
    Недавно начал писать бота с использованием этой замечательной библиотеки, но к несчастью столкнулся с некоторыми недоработками. Поэтому решено было доработать библиотеку imodem и вот что из этого получилось: Обновление для библиотеки imodem Теперь imodem может обрабатывать личные сообщения (раньше просто игнорил их). Говорим спасибо @Bit Добавлена авторизация ника Все данные по именам/каналам лежат в файле конфигурации по адресу /etc/imodem.cfg Возможен запуск по данным пользователя из Shell Добавлено логирование Добавлено переподключение если отключится интернет Итак, поясняю. Немного изменился порядок приема сообщения. Теперь входные данные выглядят так: modem_message ник_imodem ник_говорящего 0 #канал/ник_imodem сообщение Если сообщение идет с канала, то указывается канал, если личное сообщение, то ник imodem. Чтобы не лазить по библиотеке, ради изменения ника, канала, сервера было решено перенести все эти данные в файл конфигурации. Библиотека автоматически проверяет файл конфигурации, и в случае если его не найдет, самостоятельно его восстановит. Данные хранятся в следующем виде: nick = "Тут ник" pass = "Пароль (0)" server = "irc.esper.net:6667" channel = "#канал" log = "Записывать логи (1/0)" Чтобы не заморачиваться с настройкой ника/канала/сервера/логов можно передать все эти данные одной командой: imodem [server[:port]] <nickname> <password> <channel> <save(1/0)> <log(1/0)> Ну а если все настроено и вас устраивает, можете напрямую imodem запускать и по сохраненным данным все запустится. Логирование сделано больше для отладки, логи можно найти по адресу /IMODEMLOG.txt Для того чтобы imodem мог переподключаться, через каждые 60 секунд оправляется пингование на сервер. И если в течении 30 секунд не придет ответ, imodem автоматически переподключится. Это лучше чем словить кратковременный сбой в доступе к интернету и потом вручную перезагружать библиотеку. Скачать библиотеку можно по команде pastebin get -f MvR7FTGS /lib/imodem.lua Выражаю благодарность за помощь в улучшении @Bit, @Doob, @vladimir, @Fingercomp
  6. 1 балл
    Ну что ж. Буквально на днях майнось наконец релизнулась в виде полностью самостоятельной и независимой от OpenOS операционки с собственным набором библиотек и вики. Все родное, отечественное (звучит как диагноз). Большинство методов библиотек по типу filesystem или keyboard крайне схожи с таковыми в опеноси по поведению, так что особых проблем с переходом возникать не должно. Также существенно снизился расход оперативной памяти - примерно на 7% от 4 планок 3 уровня. Осталось, конечно, регулярно выискивать мелкие недочеты и допиливать их, а также более подробно наполнять инфу на вики, но в целом результатом я доволен. Среди ключевых нововведений стоит отметить следующие: Полностью переписанный инсталлер, запускающийся даже с EEPROM, имеющий возможность выбора тома для установки и его форматирования, а также систему конфигурации пользовательского профиля. Добавлено несколько системных языков, а заодно возможность установки лишь выбранного языкового пакета вместо всех сразу для экономии места на диске: Полная двойная буферизация графики, все приложения переписаны под библиотеку GUI. Кстати, местный картинко-редактор заимел оконный режим, а также Ёлочка @Totoro стала отлично работать в фоне и украшать хату (в моем случае - жалкий клочок земли в воздухе): Крайне полезный режим Internet Recovery, позволяющий мгновенно переустановить систему напрямую из EEPROM в случае возникновения каких-либо проблем: Возможность заливки файлов напрямую на Pastebin буквально парой кликов: Фича создания ассоциаций расширений файлов с возможностью назначения приложения для открытия того или иного расширения:
  7. 1 балл
    Очень забавно поднимать тему 3-летней давности. Так вот, написал на обычном модеме или туннельная карта. Сервер - Клиент - Управление почти тоже самое: Тильда(Ё) - выход из программы на локальном компьютере F1 - выход из программы на удалённом компьютере F5 - обновление экрана. У сервера и клиента есть 2 параметра - tunnelMode и port. Первый параметр отвечает за использование туннельной карты(если она есть) или использование модема. (true - использовать туннельную карту/false - не использовать) Второй сам за себя говорит - за порт. (Картинка чёрно-белая, само собой) Очень важные картинки:
  8. 1 балл
    Библиотека обновлена с общим увеличением производительности в ~1.4 раза и уменьшением потребления памяти на 140 Кбайт путем смены концепции хранения данных. Опытным путем выяснилось, что 2 пиксельных массива вида { 0xFFFFFF, 0xFFFFFF, "S", ... } кушают в разы больше, нежели 6 таких же массивов для цветов фона, текста и символов по раздельности (пруфскрипт - https://pastebin.com/mPynSL2H): Судя по всему, подобная разница возникает из-за попеременной смены типов данных в таблице. Разумеется, это послужило отличным поводом перекодить методы отрисовки, избавившись от инкрементирования индексов в циклах. Так что все прожки, написанные на данной библиотеке, стали кушать меньше и работать быстрее. Наглядно по тикам результат следующий (см. скрины выше):
  9. 1 балл
    Проведен рефакторинг библиотеки с целью увеличения скорости отрисовки: все методы и поля таблиц, хоть как-либо используемые самой библиотекой, заменены на единоразово созданные локальные переменные. Удалена избыточная группировка по функциям. Изменен принцип растеризации отрезков. Добавлен метод buffer.formattedText, позволяющий изменять цвет текста в реальном времени через вставку синтаксических конструкций вида #RRGGBB. Как результат - общая производительность выросла в ~3 раза по сравнению со старой версией библиотеки (первая пикча) и новой (вторая):
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...