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


Фотография

Мониторинг состояния реакторов.

Reactor Status over9000

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 Оффлайн   lokin135

lokin135
  • Пользователи
  • Сообщений: 52
  • Уровень сигнала: 88,11%
  • В игре: 667 час. 39 мин.
  • ГородПсков

Награды

           

Отправлено 17 Май 2018 - 19:01

Хелло computercraft! Хочу поделится своей программой по мониторингу состояния 54 (максимум) реакторов (6 блоков по 9 реакторов), которую меня попросили закодить. Вот как все это выгдядит (немного промахнулся с разрешением, по этому по краям не симметрично, но вроде не так сильно в глаза бросается): 

2018_05_17_18_06_44.png

 

Цвет напряжения который выдает реактор и текст "Реактор №1" выделяется красным или зеленым, в зависимости от состояния активности: если реактор выдает 1 и больше EU/t (другими словами - он работает) - цвет зеленый, в противном случае - красный. Так-же в другом углу окна отображается нагрев: если он больше 50% - цвет текста становится оранжевым, но если менее - зеленый.

 

Стоит сказать, что вся программа работает без дополнительных библиотек (я имею в виду библиотеку от ECS, например. т.е. сторонние), т.к. я ну прям очень не люблю таскать с собой не нужный хлам. Да и еще нужен будет установщик для всего этого. Обошелся только тремя requir'ами: component, term и event. 

 

Так-же я сделал отдельный массив для удобного редактирования цветов:

1243.png

 

ИМХО это лучший вариант для хранения цветов программы.

(Дал название переменной color для более логичного кода: "color.UpBar" лучше выглядит чем "colors.UpBar". Но опять-же, ИМХО)

С этой штукой будет не проблема сделать графику программы под цвет стены, например. Да и я не дизайнер или художник, что-бы идеально подбирать цвета))

 

Теперь счет настройки программы. Для коннекта реактора нужно поставить вплотную адаптер к нему и ввести 3 (можно больше или меньше, но мне по душе именно так) первых символа адреса адаптера (нужно тыкнуть по нему анализатором, что-бы узнать полный адрес) в спец. массив с этими адресами. Можно было-бы автоматически распределять реакторы по блокам, но заказчику нужно было индексировать самому. 

 

Ну, вроде все рассказал. В коде (и в сообщении, ага) могут быть грамматические (не давно узнал, что английское слово "адрес" пишется как "address", а не "adress"... я раньше постоянно так писал и допускал ошибку), так и логические ошибки (имею в виду бесполезную проверку на nil, например). Помидорами не кидайтесь, но советами и конструктивной критики я буду очень рад.

 

Ну и код выложил на свой сервак и на пастебин: 

https://lokin135serv...actorStatus.lua

https://pastebin.com/JUKJXK97

 

Команда для загрузки: pastebin get JUKJXK97 MonitReactors.lua

 

На основе этой проги я еще сделал рендеринг состояния MFSU'шек, но эта совсем другая история.. (код там-же найдете)


Сообщение отредактировал lokin135: 10 Июнь 2018 - 11:56


#2 Оффлайн   CompWizard

CompWizard
  • Пользователи
  • Сообщений: 1
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 23 Май 2018 - 00:12

Классный сервак, очень много полезных программ


  • lokin135 это нравится

#3 Оффлайн   lokin135

lokin135
  • Автор темы
  • Пользователи
  • Сообщений: 52
  • Уровень сигнала: 88,11%
  • В игре: 667 час. 39 мин.
  • ГородПсков

Награды

           

Отправлено 24 Май 2018 - 20:00

много полезных программ

Там мои прожки валяются, но далеко не все) 

Основную массу стоит переписать - кол-во говнокода многовато относительно последних прог))



#4 Оффлайн   lokin135

lokin135
  • Автор темы
  • Пользователи
  • Сообщений: 52
  • Уровень сигнала: 88,11%
  • В игре: 667 час. 39 мин.
  • ГородПсков

Награды

           

Отправлено 10 Июнь 2018 - 11:57

Ссылки

Обновил и тут ссылку на программу - перешел на другой домен, из-за этого старая ссыль не работала (на мой сервер)






Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных