crococrystal

main.lua

Jun 7th, 2024 (edited)
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.48 KB | None | 0 0
  1. local term = require("term")
  2. local shell = require("shell")
  3. local component = require("component")
  4.  
  5. local config = require("lib/config")
  6. local logger = require("lib/logger")
  7. local display = require("lib/display")
  8. local pastebin_downloader = require("lib/pastebin_downloader")
  9. local programs = require("lib/programs")
  10.  
  11. local gpu = component.gpu
  12.  
  13. local function createProgram()
  14. -- Функция создания новой программы будет здесь
  15. end
  16.  
  17. local function addLocalProgramToCollection()
  18. -- Функция добавления локальной программы в коллекцию будет здесь
  19. end
  20.  
  21. local function showDownloadHistory()
  22. -- Функция просмотра коллекции программ будет здесь
  23. end
  24.  
  25. local function main()
  26. while true do
  27. display.clearScreen()
  28. display.printColored(1, "1. Обновить последнюю программу", 0x00FFFF) -- Голубой цвет
  29. display.printColored(2, "2. Загрузить с pastebin", 0xFFFFFF) -- Белый цвет
  30. display.printColored(3, "3. Создать новую программу", 0xFFFFFF) -- Белый цвет
  31. display.printColored(4, "4. Добавить локальную программу в коллекцию", 0xFFFFFF) -- Белый цвет
  32. print()
  33. display.printColored(5, "5. Редактировать последнюю программу", 0xFFFFFF) -- Белый цвет
  34. display.printColored(6, "6. Открыть последнюю программу", 0xFFFFFF) -- Белый цвет
  35. display.printColored(7, "7. Коллекция программ", 0xFFFFFF) -- Белый цвет
  36. print()
  37. display.printColored(8, "Введите Enter чтобы выйти из программы", 0x808080) -- Серый цвет
  38.  
  39. term.setCursor(1, 9)
  40. local choice = term.read():gsub("\n", "")
  41.  
  42. if choice == "1" then
  43. local log = config.loadLog()
  44. if log.last then
  45. local lastEntry = log.last
  46. display.clearScreen()
  47. display.printColored(1, "Обновление программы " .. lastEntry.filename, 0xFFFFFF)
  48. pastebin.get(lastEntry.address, lastEntry.filename)
  49. display.printColored(3, "Программа обновлена.", 0x00FF00) -- Зеленый текст
  50. os.sleep(2)
  51. shell.execute(lastEntry.filename) -- Автоматически запускаем программу после обновления
  52. else
  53. display.clearScreen()
  54. display.printColored(1, "Нет информации о последней скачанной программе.", 0xFF0000) -- Красный текст
  55. os.sleep(2)
  56. end
  57.  
  58. elseif choice == "2" then
  59. pastebin_downloader.downloadProgram()
  60.  
  61. elseif choice == "3" then
  62. createProgram()
  63.  
  64. elseif choice == "4" then
  65. addLocalProgramToCollection()
  66.  
  67. elseif choice == "5" then
  68. local lastEntry = config.loadLastUpdate()
  69. if lastEntry then
  70. programs.editProgram(lastEntry)
  71. else
  72. display.clearScreen()
  73. display.printColored(1, "Нет последней программы для редактирования.", 0xFF0000) -- Красный текст
  74. os.sleep(2)
  75. end
  76.  
  77. elseif choice == "6" then
  78. local lastEntry = config.loadLastUpdate()
  79. if lastEntry then
  80. shell.execute(lastEntry.filename)
  81. else
  82. display.clearScreen()
  83. display.printColored(1, "Нет последней программы для открытия.", 0xFF0000) -- Красный текст
  84. os.sleep(2)
  85. end
  86.  
  87. elseif choice == "7" then
  88. showDownloadHistory()
  89.  
  90. elseif choice == "" then
  91. display.clearScreen()
  92. display.printColored(1, "Программа закрыта.", 0xFFFFFF)
  93. break
  94.  
  95. else
  96. display.clearScreen()
  97. display.printColored(1, "Некорректный выбор. Пожалуйста, выберите снова.", 0xFF0000) -- Красный текст
  98. os.sleep(2)
  99. end
  100. end
  101. end
  102.  
  103. main()
Advertisement
Add Comment
Please, Sign In to add comment