Advertisement
Neverlose

Untitled

Dec 18th, 2024
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.92 KB | None | 0 0
  1. -- Подключаем библиотеку для работы с графикой
  2. local component = require("component")
  3. local computer = require("computer")
  4. local event = require("event")
  5. local term = require("term")
  6.  
  7. -- Находим лампу
  8. local lamp = component.redstone
  9.  
  10. -- Функция для инициализации интерфейса
  11. local function drawInterface()
  12. term.clear()
  13. term.setCursor(1, 1)
  14. print("----------")
  15. print("| Lamp |")
  16. print("----------")
  17.  
  18. -- Кнопка включения
  19. drawButton(1, 3, 10, "On")
  20. -- Кнопка выключения
  21. drawButton(1, 5, 10, "Off")
  22. -- Кнопка выхода
  23. drawButton(1, 7, 10, "Exit")
  24. end
  25.  
  26. -- Функция для рисования кнопки
  27. local function drawButton(x, y, width, text)
  28. term.setCursor(x, y)
  29. term.write("[")
  30. term.setCursor(x + 1, y)
  31. term.write(text)
  32. term.setCursor(x + width + 1, y)
  33. term.write("]")
  34. end
  35.  
  36. -- Функция для обработки ввода пользователя
  37. local function handleInput()
  38. while true do
  39. local _, _, x, y = event.pull("touch") -- Ждем события нажатия на экран
  40. if y == 3 and x >= 1 and x <= 10 then
  41. lamp.setOutput(0) -- Включаем лампу
  42. print("Complete on")
  43. elseif y == 5 and x >= 1 and x <= 10 then
  44. lamp.setOutput(15) -- Выключаем лампу
  45. print("Complete off")
  46. elseif y == 7 and x >= 1 and x <= 10 then
  47. print("Exit...")
  48. break -- Выходим из цикла
  49. end
  50. end
  51. end
  52.  
  53. -- Главная функция
  54. local function main()
  55. term.clear()
  56. drawInterface() -- Рисуем интерфейс
  57. handleInput() -- Обрабатываем ввод пользователя
  58. end
  59.  
  60. main() -- Запускаем программу
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement