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

red2211

Пользователи
  • Публикации

    7
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем red2211


  1. 3 часа назад, Bs0Dd сказал:

    P.S.: Я не уверен, стоит ли настолько заморачиваться ради небольшой програмки. Думаю достаточно просто вынести функции в начало программы.

    Впринципе да, для удобства пользователя лучше оставить один файл программы.

     

    3 часа назад, Bs0Dd сказал:

    Все очень просто

    
    local library = require("library")

    В функции require пишется имя библиотеки без расширения, но сама либа должна лежать в одном из определенных мест, иначе будет ошибка импорта:

    Gh4OtRR.png

     

    В самой либе можно создать таблицу, натолкать в нее нужных функций и return <tablename>

    Подробнее лучше прочитать какой-нибуть мануал про библиотеки

    А за это спасибо, буду что-то для себя экспериментировать.


  2. 3 часа назад, eu_tomat сказал:

    Не совсем так. Не текущая теплоёмкость, а текущее количество тепла getHeat(). А максимально возможное количество тепла getMaxHeat это и есть теплоёмкость реактора. Да, значения получаются маленькими в диапазоне от нуля до единицы включительно. Но если домножить на 100, то получим степень нагрева в процентах, если удобно работать с большими значениями.

    Понял, но не легче сделать как сделал я просто поделить текущее количество тепла на 100. Мы получаем то же значение что и при делении количество тепла в реакторе на теплоёмкость реактора но только на одну операцию меньше. Ведь так?


  3. 1 час назад, eu_tomat сказал:

    Почитав код, я заметил, что на самом деле проверяется не температура реактора, а количество тепла в нём, что нарушает задуманную логику. Для получения именно температуры потребуется разделить количество тепла в реакторе на теплоёмкость реактора: T = reactor.getHeat()/reactor.getMaxHeat().

    Теперь программа проверяет теплоёмкость) Если мы будем делить текущую теплоёмкость на максимальную то значения буду очень маленькие. К примеру сейчас теплоёмкость 4000, а макс 10000 то в нас получится 0,4. Думаю лучше оставить большые значения.

     

    1 час назад, eu_tomat сказал:

    А вообще, вывод крупных кусков неизменного текста я рекомендую вынести в отдельные функции. На работу программы это существенным образом не повлияет, но поможет облегчить основную часть кода, отвечающую за логику, что упростит поиск ошибок.

    Не подскажете как реализовать что-то типу import в python, чтобы вынести все функции в отдельный файл?


  4. 9 часов назад, eu_tomat сказал:

    Первым делом хорошо бы добавить автоотключение реактора при аварийном отключении компьютера, что на перегруженных серверах случается часто.

     Полностью с вами согласен. Буду что-то думать чтобы и пк был дома и реактор отключал. 

     

    9 часов назад, eu_tomat сказал:

    А рычаг-то зачем, если уже есть красный контроллер или красная плата, которые смогут осуществить не только все последующие запуски, но и первый тоже?

    Рычаг нужен для запуска реактора если компьютер будет питаться от него. Иначе откуда компьютер возьмёт энергию если другого источника нету. 

     

    9 часов назад, eu_tomat сказал:

    И зачем в коде везде используется string.format, даже там, где отсутствуют переменные, вывод которых требуется форматировать?

    Ошибку понял, буду исправлять. Исправил.

    • Нравится 1

  5. Контроллер реактора IC2

     

    Принцип работы:

    При включении программа подаёт питания на реактор при помощи красного контроллера и с помощью адаптера считывает информацию с реакторной камеры затем выводит показания на экран и в случае перегрева отключает реактор. Когда температура теплоёмкость реактора вернётся к допустимым значениям он опять включится.

     

    Pastebin - https://pastebin.com/dqEmUsfx

    pastebin get dqEmUsfx your_name.lua

     

    Что требуется для роботы:

    • Системный блок 3 лвл
    • Видеокарта 3 лвл
    • Процессор 1 лвл и выше
    • Интернет карта (для загрузки программы через Pastebin)
    • ОЗУ 256кб и выше
    • Монитор 3 лвл
    • Адаптер
    • Красный контроллер
    • Реактор из IC2
    • Реакторная камера из IC2
    • Преобразователь енергии (для питания пк от реактора)
    • Рычаг (для первого запуска реактора, затем надо выключить или сломать)

     

    Схема подключения и робота:

     

    Скрытый текст

    Пример подключения

    1.png

     

    2.png

     

    3.png

     

    4.png

     

    Любая схема для реактора

    6.png                                      7.png

     

    Перегрев системы

    8.png

     

    Планы на будущие:

    • Оптимизация кода - на начальной стадии
    • Добавить поддержку мониторов 2-го лвл
    • Добавить автоотключение реактора при выходе из програмы
    • Добавить кнопки управления (вкл/выкл реактора)
    • Добавить статус стержней
    • Улучшить интерфейс

     

    Что готово уже:

    • Включение реактора при запуске программы
    • Отключение во время перегрева
    • Включение реактора после возврата теплоёмкости к допустимым значениям

     

    P. S. Это моя первая программа на lua под OC так что не обессудьте. Буду рад любым исправлениям и замечаниям.

    • Нравится 4
×
×
  • Создать...