Поиск по сайту
Результаты поиска по тегам 'Status'.
Найдено 1 результат
-
Хелло computercraft! Хочу поделится своей программой по мониторингу состояния 54 (максимум) реакторов (6 блоков по 9 реакторов), которую меня попросили закодить. Вот как все это выгдядит (немного промахнулся с разрешением, по этому по краям не симметрично, но вроде не так сильно в глаза бросается): Цвет напряжения который выдает реактор и текст "Реактор №1" выделяется красным или зеленым, в зависимости от состояния активности: если реактор выдает 1 и больше EU/t (другими словами - он работает) - цвет зеленый, в противном случае - красный. Так-же в другом углу окна отображается нагрев: если он больше 50% - цвет текста становится оранжевым, но если менее - зеленый. Стоит сказать, что вся программа работает без дополнительных библиотек (я имею в виду библиотеку от ECS, например. т.е. сторонние), т.к. я ну прям очень не люблю таскать с собой не нужный хлам. Да и еще нужен будет установщик для всего этого. Обошелся только тремя requir'ами: component, term и event. Так-же я сделал отдельный массив для удобного редактирования цветов: ИМХО это лучший вариант для хранения цветов программы. (Дал название переменной color для более логичного кода: "color.UpBar" лучше выглядит чем "colors.UpBar". Но опять-же, ИМХО) С этой штукой будет не проблема сделать графику программы под цвет стены, например. Да и я не дизайнер или художник, что-бы идеально подбирать цвета)) Теперь счет настройки программы. Для коннекта реактора нужно поставить вплотную адаптер к нему и ввести 3 (можно больше или меньше, но мне по душе именно так) первых символа адреса адаптера (нужно тыкнуть по нему анализатором, что-бы узнать полный адрес) в спец. массив с этими адресами. Можно было-бы автоматически распределять реакторы по блокам, но заказчику нужно было индексировать самому. Ну, вроде все рассказал. В коде (и в сообщении, ага) могут быть грамматические (не давно узнал, что английское слово "адрес" пишется как "address", а не "adress"... я раньше постоянно так писал и допускал ошибку), так и логические ошибки (имею в виду бесполезную проверку на nil, например). Помидорами не кидайтесь, но советами и конструктивной критики я буду очень рад. Ну и код выложил на свой сервак и на пастебин: https://lokin135server.ru/PublicRepository/ReactorStatusAndMFSU/ReactorStatus.lua https://pastebin.com/JUKJXK97 Команда для загрузки: pastebin get JUKJXK97 MonitReactors.lua На основе этой проги я еще сделал рендеринг состояния MFSU'шек, но эта совсем другая история.. (код там-же найдете)