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

Лидеры


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

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

  1. 1 балл
    Для одного проекта потребовалось управлять контроллером красного камня со всех сторон, к этой проге добавил кнопок на остальные стороны https://pastebin.com/7HTacede
  2. 1 балл
    local event = require("event") local component = require("component") local unicode = require("unicode") local gpu = component.gpu local red = component.isAvailable("restone") and component.redstone or error("Redstone component is unavailable") local floor = math.floor local TOP = 1 local BOTTOM = 0 local SignalTop, SignalBottom local Buttons = {} local function CreateButton(x, y, w, h, bgc, fgc, text, callback) local obgc = gpu.getBackground() local ofgc = gpu.getForeground() gpu.setBackground(bgc) gpu.setForeground(fgc) gpu.fill(x, y, w, h, " ") gpu.set(floor(x+(w/2)-unicode.len(text)/2), floor(y+h/2, text), text) table.insert(Buttons, { xmi = x, ymi = y, xma = x+w, yma = y+h, cb = callback }) gpu.setBackground(obgc) gpu.setForeground(ofgc) end local function CheckButtonPress(x, y) for _, button in ipairs(Buttons) do if (x>=button.xmi) and (x<=button.xma) then if (y>=button.ymi) and (y<=button.yma) then button.cb(x, y) end end end end local ScrW, ScrH = gpu.getResolution() CreateButton(floor(ScrW/6), floor(ScrH/2), 18, 3, 0x646464, 0xbebebe, "Top", function() SignalTop = not SignalTop red.setOutput(TOP, SignalTop and 15 or 0) end) CreateButton(ScrW - floor(ScrW/6) - 18, floor(ScrH/2), 18, 3, 0x646464, 0xbebebe, "Bottom", function() SignalBottom = not SignalBottom red.setOutput(BOTTOM, SignalBottom and 15 or 0) end) while true do local _, _, x, y = event.pull("touch") CheckButtonPress(x, y) end Нуу.... Должно работать, наверное...
  3. 1 балл
    256 байт - это 256 раз по 256 значений. Это . Я думаю будет достаточно нелегко перебрать их все. Учитывая, подписаться можно на любой совершенно ID (сервер не скажет тебе сколько на этом канале клиентов), и сообщения могут идти не постоянно, а, скажем раз в две минуты, надо будет не только подписаться на канал, но и подождать немного. Если тратить на каждый канал по две минуты, это будет лет на полный перебор. " Чтобы придать всему проекту более традиционный вид, можно разбить ID на два поля - 56 байт логин и 200 байт пароль. Но согласись что это будет по сути то же самое. Каждый канал будет определяться уникальной комбинацией "логин + пароль", то есть теми же 256 байтами. Я решил не усложнять. Для публичного канала можно взять например ID "Evil-Reactor". Для приватного канала - ID "you will never guess this ID". И будет работать вполне хорошо. А еще надо учитывать, что ID не имеет ограничения по допустимым символам. Можно взять любые значения байтов, от 0 до 255. Например так: local id = string.char(1, 0, 0, 0, 0, 0, 200, 200, 200, 13, 14, 64, 89) ID из 13 байт. Причем часть вообще "непечатные".
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...