lokin135 24 Опубликовано: 17 мая, 2018 (изменено) Хелло 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'шек, но эта совсем другая история.. (код там-же найдете) Изменено 10 июня, 2018 пользователем lokin135 7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
CompWizard 1 Опубликовано: 22 мая, 2018 Классный сервак, очень много полезных программ 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
lokin135 Автор темы 24 Опубликовано: 24 мая, 2018 много полезных программ Там мои прожки валяются, но далеко не все) Основную массу стоит переписать - кол-во говнокода многовато относительно последних прог)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
lokin135 Автор темы 24 Опубликовано: 10 июня, 2018 Ссылки Обновил и тут ссылку на программу - перешел на другой домен, из-за этого старая ссыль не работала (на мой сервер) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах