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

hohserg

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

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

  • Посещение

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

    37

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


  1. logo.png?raw=true

    aBrickOS - операционная система, которая стремится быть достаточно

    простой и компактной, чтобы умещаться на 4кб EEPROM и запускаться на любом ведре.

     

    Фичи

    • графический интерфейс, управление с клавиатуры
    • файловый менеджер
    • текстовый редактор
    • интерпретатор луа

    Системные требования

    system%20requirements.png?raw=true

    Процессор т1

    Память т1

    EEPROM

    Видеокарта т1

    Монитор т1

    Клавиатура

     

     

    Установка

    Если у вас есть интернет-карта, просто выполните pastebin run HHwNLs39

     

    Если нету, откройте новый файл для редактирования edit /tmp/aBrickOS.lua, скопируйте и вставьте содержимое https://github.com/hohserg1/OpenComputersPrograms/blob/master/aBrickOS/boot_compressed.lua. Хотя гитхаб говорит, что это бинарный файл, на самом деле это текстовый файл в одну строку.

    После выполните flash -q /tmp/aBrickOS.lua aBrickOS

     

    Получится EEPROM aBrickOS.

     

    Использование

    aBrickOS входновлен Inerpat, поэтому применять имеет смысл для тех же целей.

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

    После запуска открывается файловый менеджер со списком доступных дисков.

    screenshot5.png?raw=true

    Для навигации по гуи используются клавиши со стрелками.

    Кнопки [ 🠕 ]  [ 🠗 ] для смены выбора пункта списка.

    Кнопка [🠖] для перехода в под-папку.

    Кнопка [🠔] для перехода в над-папку.

     

    Кнопка [≡] открывает и закрывает контекстные меню.

    Кнопка [🠔] так же может закрыть контекстное меню.

    Кнопка [🠖] для выполнениня выбранного в контекстном меню действия.

    screenshot2.png?raw=true

    Контекстные меню отличаются у файла, папки и пункта с жирной стрелкой назад.

     

    Текстовый редактор поможет откирпичить робота назад.

    screenshot3.png?raw=true

     

    Интерпретатор Lua.

    screenshot4.png?raw=true

    Чтобы выйти из интерпретатора введите :q

     

    Ссылки

    Гитхаб: https://github.com/hohserg1/OpenComputersPrograms/tree/master/aBrickOS

     

    • Нравится 6

  2. Ваще-то читаемость повышается (при этом не стоит забывать, что читаемость это свойство читателя, а не свойство текста)

    Сравни:

    local _,_,sender,_,_,_,receivedValue = event.pull("modem_message", _, _, expectedPort, _, "expectedMsg")
    --vs--
    local _,_,sender,_,_,_,receivedValue = event.pull("modem_message", nil, nil, expectedPort, nil, "expectedMsg")

     


  3. Я так понимаю, вопрос в том, что _ передается в аргументы функции?

    Типо, обычно нижнее подчеркивание юзается для цели присваивания, чтобы проигнорировать какое-то значение. Конечно, это не значит, что переменная с таким именем всегда nil(а было бы неплохо)

    Можно вставлять в начало своих программ че-то типо

    local ignoreUnderlineAssignation = {
      __newindex = function(self, k, v) if k~="_" then rawset(self,k,v) end end, 
      __index = function(self, k) if k=="_" then return nil else return rawget(self,k)end end
    }
    setmetatable(_G, ignoreUnderlineAssignation)
    setmetatable(_ENV, ignoreUnderlineAssignation)

    Токо это не работает из-за странной природы _ENV. Если кто-то шарит, как работает _ENV, напишите, плиз


  4. Допустим, юзаем экран т3 и на иконку пчелы тратим до 6x6 знако-мест(7x7 включая отступ между иконками)

    По высоте влезает 7 пчел, по ширине 22 пчелы, 154 пчелы в сетке. Вроде все влезает даже на одной странице 


  5. Когда я в свое время разбирался с крафтом через робота, то столкнулся с проблемой определения как крафтить предмет: апгрейд инвентаря не умеет узнавать рецепты для предмета. По-идее автор темы тоже должен был столкнуться с такой проблемой и я пошел посмотреть, как он ее решил

    local cfg = {
        crafts = {
            ["minecraft:diamond_pickaxe"] = {
                {{"minecraft:diamond"}, {"minecraft:diamond"}, {"minecraft:diamond"}},
                {nil, {"minecraft:stick"}, nil},
                {nil, {"minecraft:stick"}, nil},
            },
            ["minecraft:stick"] = {
                {nil, {"minecraft:planks"}, nil},
                {nil, {"minecraft:planks"}, nil},
                {nil, nil, nil},
            },
            ["minecraft:planks"] = {
                {{"minecraft:log"}, nil, nil},
                {nil, nil, nil},
                {nil, nil, nil},
            },
        }
    }

    Чет как-то грустно

    • Грусть 2

  6. 8 часов назад, eu_tomat сказал:

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

    Мне кажется, или вместо вспомогательного компа можно юзать довольно простую редстоун схему?

×
×
  • Создать...