Перейти к публикации

Рекомендованные сообщения

И снова доброго времени суток!

 

Написал и недавно допили прогу по упровлению светом с помощью RedLogic!

Команда для скачивания: pastebin get -f uZFEL62c light.lua

Вот код:

component = require("component");
side = require("sides");
color = require("colors");
rs = component.redstone;
--funcs-------------------------------------------------------------------------------------------------------------
function hlp()
    os.execute('clear');
    check();
    print('\n-------------------------------------------------',
        '\nlight_1_on - to switсh on a light_1;',
        '\nlight_1_off - to switсh off a light_1;',
        '\nlight_2_on - to switсh on a light_2;',
        '\nlight_2_off - to switсh of a light_2;',
        '\nall_on - switсh on all light;',
        '\nall_off - to switсh off all light;',
        '\n-------------------------------------------------\n');
end
--
function check()
    local component = require('component');
 
    local light_1 = component.redstone.getBundledInput(2, 14);
    local light_2 = component.redstone.getBundledInput(2, 4);
 
    if light_1 <= 255 and light_1 > 15 then
        print('Light_1  \x1b[32m++\x1b[0m  ');
    elseif light_1 >= 0 and light_1 < 15 then
        print('Light_1  \x1b[31m--\x1b[0m  ');
    end
 
    if light_2 <= 255 and light_2 > 15 then
        print('Light_2  \x1b[32m++\x1b[0m');
    elseif light_2 >= 0 and light_2 < 15 then
        print('Light_2  \x1b[31m--\x1b[0m');
    end
end
--
function _light_1_on()
    rs.setBundledOutput(2, 14, 255);
    os.execute('clear');
    check();
end
--
function _light_1_off()
    rs.setBundledOutput(2, 14, 0);
    os.execute('clear');
    check();
end
--
function _light_2_on()
    rs.setBundledOutput(2, 4, 255);
    os.execute('clear');
    check();
end
--
function _light_2_off()
    rs.setBundledOutput(2, 4, 0);
    os.execute('clear');
    check();
end
--
function _all_off()
    rs.setBundledOutput(2, 4, 0);
    rs.setBundledOutput(2, 14, 0);
    os.execute('clear');
    check();
end
--
function _all_on()
    rs.setBundledOutput(2, 4, 255);
    rs.setBundledOutput(2, 14, 255);
    os.execute('clear');
    check();
end
--main--------------------------------------------------------------------------------------------------------------
 
os.execute('clear');
 
print('Enter \'help\'');
 
local cmds = {
    light_1_on = _light_1_on,
    light_1_off = _light_1_off,
    light_2_on = _light_2_on,
    light_2_off = _light_2_off,
    all_on = _all_on,
    all_off = _all_off,
    help = hlp
}
 
local term = require("term");
 
while true do
    term.write('> ');
    cmd = term.read();
 
    if cmd == false then
      print("Exiting!")
      os.exit()
    end
    cmd, _ = cmd:gsub("\n","");
    if type(cmds[cmd]) == "function" then
      cmds[cmd]();
    else
      print("No such command: " .. cmd);
    end
end

(На лампе №1 нет контакта, но и так понятно что всё работает)

2019-03-02_21_24_26.thumb.png.58661596ab9b338d23b004c985ba7beb.png

Если преодолею лень и перестану тупить то возможно у этой проги появится GUI!

Изменено пользователем LaRRaM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я люблю иногда постродать фигнёй)! На первом посте первая версия проги, но она расширяется! Обновления будут тут: https://pastebin.com/uZFEL62c

Изменено пользователем LaRRaM

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.


×