red2211
-
Публикации
7 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные пользователем red2211
-
-
Сорян за оплошность, еще не очень хорошо знаю ic2. Но на ошибках учимся! Иду исправлять.
-
3 часа назад, Bs0Dd сказал:P.S.: Я не уверен, стоит ли настолько заморачиваться ради небольшой програмки. Думаю достаточно просто вынести функции в начало программы.
Впринципе да, для удобства пользователя лучше оставить один файл программы.
3 часа назад, Bs0Dd сказал:Все очень просто
local library = require("library")
В функции require пишется имя библиотеки без расширения, но сама либа должна лежать в одном из определенных мест, иначе будет ошибка импорта:
В самой либе можно создать таблицу, натолкать в нее нужных функций и return <tablename>
Подробнее лучше прочитать какой-нибуть мануал про библиотеки
А за это спасибо, буду что-то для себя экспериментировать.
-
3 часа назад, eu_tomat сказал:Не совсем так. Не текущая теплоёмкость, а текущее количество тепла getHeat(). А максимально возможное количество тепла getMaxHeat это и есть теплоёмкость реактора. Да, значения получаются маленькими в диапазоне от нуля до единицы включительно. Но если домножить на 100, то получим степень нагрева в процентах, если удобно работать с большими значениями.
Понял, но не легче сделать как сделал я просто поделить текущее количество тепла на 100. Мы получаем то же значение что и при делении количество тепла в реакторе на теплоёмкость реактора но только на одну операцию меньше. Ведь так?
-
1 час назад, eu_tomat сказал:Почитав код, я заметил, что на самом деле проверяется не температура реактора, а количество тепла в нём, что нарушает задуманную логику. Для получения именно температуры потребуется разделить количество тепла в реакторе на теплоёмкость реактора: T = reactor.getHeat()/reactor.getMaxHeat().
Теперь программа проверяет теплоёмкость) Если мы будем делить текущую теплоёмкость на максимальную то значения буду очень маленькие. К примеру сейчас теплоёмкость 4000, а макс 10000 то в нас получится 0,4. Думаю лучше оставить большые значения.
1 час назад, eu_tomat сказал:А вообще, вывод крупных кусков неизменного текста я рекомендую вынести в отдельные функции. На работу программы это существенным образом не повлияет, но поможет облегчить основную часть кода, отвечающую за логику, что упростит поиск ошибок.
Не подскажете как реализовать что-то типу import в python, чтобы вынести все функции в отдельный файл?
-
9 часов назад, eu_tomat сказал:Первым делом хорошо бы добавить автоотключение реактора при аварийном отключении компьютера, что на перегруженных серверах случается часто.
Полностью с вами согласен. Буду что-то думать чтобы и пк был дома и реактор отключал.
9 часов назад, eu_tomat сказал:А рычаг-то зачем, если уже есть красный контроллер или красная плата, которые смогут осуществить не только все последующие запуски, но и первый тоже?
Рычаг нужен для запуска реактора если компьютер будет питаться от него. Иначе откуда компьютер возьмёт энергию если другого источника нету.
9 часов назад, eu_tomat сказал:И зачем в коде везде используется string.format, даже там, где отсутствуют переменные, вывод которых требуется форматировать?
Ошибку понял,
буду исправлять. Исправил.-
1
-
-
Контроллер реактора IC2
Принцип работы:
При включении программа подаёт питания на реактор при помощи красного контроллера и с помощью адаптера считывает информацию с реакторной камеры затем выводит показания на экран и в случае перегрева отключает реактор. Когда
температуратеплоёмкость реактора вернётся к допустимым значениям он опять включится.Pastebin - https://pastebin.com/dqEmUsfx
pastebin get dqEmUsfx your_name.lua
Что требуется для роботы:
- Системный блок 3 лвл
- Видеокарта 3 лвл
- Процессор 1 лвл и выше
- Интернет карта (для загрузки программы через Pastebin)
- ОЗУ 256кб и выше
- Монитор 3 лвл
- Адаптер
- Красный контроллер
- Реактор из IC2
- Реакторная камера из IC2
- Преобразователь енергии (для питания пк от реактора)
- Рычаг (для первого запуска реактора, затем надо выключить или сломать)
Схема подключения и робота:
Скрытый текстПример подключения
Любая схема для реактора
Перегрев системы
Планы на будущие:
- Оптимизация кода - на начальной стадии
- Добавить поддержку мониторов 2-го лвл
- Добавить автоотключение реактора при выходе из програмы
- Добавить кнопки управления (вкл/выкл реактора)
- Добавить статус стержней
- Улучшить интерфейс
Что готово уже:
- Включение реактора при запуске программы
- Отключение во время перегрева
- Включение реактора после возврата теплоёмкости к допустимым значениям
P. S. Это моя первая программа на lua под OC так что не обессудьте. Буду рад любым исправлениям и замечаниям.
-
4

Контроллер реактора из IC2
в Программы новичков
Опубликовано:
Исправил и немножко оптимизировал код!