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

Programist135

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

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

  • Посещение

  • Победитель дней

    8

Записи блога, опубликованные пользователем Programist135

  1. Programist135
    Всем привет!!!
     
    Это моя уже третяя программа в моём магазине приложенийблоге. Для неё понадобится уже робот.
    Итак, приступим.
     
    1. Комплектация и сборка
    ​Вам понадобится:
    Системный блок 2 уровня Геолайзер Интернет-карта Видеокарта 1 уровня Монитор 1 уровня Клавиатура Дисковод EEPROM c Lua BIOS Дискета с OpenOS

    Собираем нашего робота. После чего вставляем в него дискету и устанавливаем OpenOS.
     
    2. Поле
    Строим следующее:

    И ставим рядом с роботом зарядник и подводим к нему редстоун-сигнал и питание.
     
    3. Запуск
    Пишем в роботе следующее:
    pastebin get pV2iGZ2n /farm.lua
    А дальше набираем farm и.. Готово! Ваш робот "прочешет" всю ферму, если найдёт выросшую пшеницу (metadata = 7) то он её срубит и посадит снова. А ещё в программе ведутся логи с достаточно высоким приоритетом. Логируется даже инфа о каждой пшенице.
    4. В следующей версии
    В следующей версии наверное будет следующее:
    Воздействие костной мукой Проверка вспаханности земли

    Ну вот и всё, надеюсь вам эта программа пригодится, всем пока!
  2. Programist135
    Всем привет!
     
    Меня задолбало копировать код из Cloud9 в редактор Edit, и поэтому я сделал автоматический загрузчик вашего тестового кода. Итак, начнём.
     
    1. Подготовка
    Для начала приготовьте следующие вещи:
    Файлик в Cloud9 для кода; Интернет-карта; OpenКомпьютер

    Всё сделали? Идём дальше.
    Включите ваш "компьютер" и наберите:
    wget https://preview.c9users.io/programist135/programfiles/Programist135/program-tester.lua /test.lua
    Скачали? Переходим к следующему этапу.
     
    2. Настройка
    Наберите вашу последнюю команду вызова Edit'a:
    edit test.lua
    Вы увидите 3 переменных:

    Рассмотрим, что же это такое.
    username - ваш никнейм в Cloud9. Замените programist135 на свой никнейм.
    workspace - ваш workspace, в котором находится ваш тестовый файлик. Замените programfiles на имя вашего workspace'a.
    path - путь к тестовому файлику в вашем workspace. Замените Programist135/teeest.lua на путь к вашему файлику.
    Настроили? Переходим к следующему этапу.
     
    3. Как работать
    Всё просто. Напишите ваш код в тестовом файлике в Cloud9. После чего сохраните его (Ctrl+S) и наберите на "компьютере" test.
    Программа сама скачает этот файлик и запустит его.
    После завершения работы вашей тестовой программы, моя программа вас спросит: "Хотите ли вы сохранить файл?" Ну если уж ваш код доделан и работает, смело жмите Y. Напишите путь, в который ваша программа сохранится. Если не доделали, жмите N или любую другую клавишу.
    Ну а после проверки программа удалит временный файл (кстати, файл скачивается в путь "test2.tmp", а после проверки удаляется) и закроется.
     
    Ну, всем спасибо за прочтение, а я пойду сделаю что-нибудь другое. Всем пока!
  3. Programist135
    Стоимость программы: [...............] 0 алмазов
    Сложность программы: [|||||||........] средне
    Размер программы: [|||||||........] 5 KiB
    Глючность программы: [||.............] минимум
    ----------------------------------------------------------------------
    1. Информация
    Приходится же мне очень часто использовать одну и ту же функцию. Но думаю: зачем же так извращаться? Решил сделать библиотеку. Зачем я её сюда выложил? Может и вам пригодиться. Приступим к обзору!
     
    Чтобы установить библиотеку, введите: wget https://preview.c9users.io/programist135/programfiles/Programist135/P135API.lua /lib/P135API.lua
     
    2. Обзор
    И так, функции:
    addWindow(x, y, width, height, windowColor, topBarColor, topBarlabel)

    ​Данная функция создаёт окно. Но! Всё остальное в нём нужно делать вручную. Аргументы:
    x: стартовая координата по оси X. Можно написать "auto" и она будет выровнена посередине экрана.

    [!] Такая опция (auto) была взята из библиотеки пользователя ECS. Я её не стал записывать в таблицу, поэтому она НЕ будет доступна.
    y: стартовая координата по оси Y. Можно написать "auto" и она будет выровнена посередине экрана. width: ширина окна. height: высота окна. windowColor: цвет всего окна, кроме топбара. topBarColor: цвет топбара. topBarLabel: надпись на топбаре.

    Следующая функция создаёт/редактирует шкалу прогресса (то, чего мне так не хватает! )
    setProgressBar(x, y, width, currentProgress, backColor, lineColor)

    [!] Чтобы изменить состояние, к сожалению приходится постоянно вызывать эту функцию.
    x: стартовая координата по оси X. y: стартовая координата по оси Y. width: ширина шкалы. currentProgress: текущий прогресс.

    [!] Если вы попытаетесь указать текущий прогресс больше, чем ширина шкалы, то библиотека завершится с ошибкой index out of bounds
    backColor: цвет незаполненного куска шкалы. lineColor: цвет заполненного куска шкалы.

    Дальше. Функция добавления текста. Вы скажете: ФУУУ, а gpu.set для слабаков? А тут есть выбор цвета, причём как цвет ЗА текстом, так и цвет самого текста.
    addText(x, y, backColor, txtColor, text)

    Аргументы:
    x: стартовая координата по оси X. y: стартовая координата по оси Y. backColor: цвет фона ЗА текстом. txtColor: цвет самого текста. text: ну, понятно

    А эта функция самая простая. Она сбрасывает всю систему к стандартным параметрам.
    reset()

    И так. Кому нибудь пригодятся рандомные цифры, но а как же без рандомных символов?
    generate(length)

    length - это длина строки.
     

    А теперь самое интересное.
     
    3. Особые функции.
    А для работы следующих функций нам потребуется уже два (!!!) компонента -> Дата-карта и Модем (не важно, проводной или беспроводной )
     
    Эта функция отправляет (бродкастит ) защищённое сообщение. Да, это уже не как либа криптования Asummonster'a
    sendSecuredMessage(...)

    Там, где "...", туда можно написать любое сообщение. Но! Внимание!! Туда можно запихать даже НЕСКОЛЬКО значений !
    Ну а дальше:
    getSecuredMessage()

    Эта функция ждёт защищённого сообщения. Но она его (их) не принтит, а возвращает! Поэтому пишите так:
     

    data1, data2, data3 = P135API.getSecuredMessage()
     
    Вот и всё.
    4. Итоги
    Да, писал статью я ОЧЕНЬ долго (ну где-то 40 минут ). И о чём я вас хотел предупредить:
    Если один из компонентов для выполнения особых функций не подключен (или оба), то эти функции вы не увидите. И не сможете их использовать. Если обнаружите глюк, немедленно сообщите сюда в комментарии. Если имеются идеи по пополнению библиотеки, напишите так же сюда в комментарии. Так вы сделаете пользу и мне, и себе, и остальным.

    Ну а на этом я с вами прощаюсь. Всем спасибо за прочтение, надеюсь библиотечка вам пригодится, а с вами был (нет, пора на что нибудь другое перейти!) всем до скорой встречи, всем пока!
  4. Programist135
    За вчерашний вечер и сегодняшний день я немного обновил свою программу.
     
    Изменения:
    Добавил комментарии и пробелы в код. Исправил баг: если в вашем тестовом коде ошибка, программа её не выдавала, и саму прогу не запускала, хотя писала, что всё успешно. Более удобная настройка.

    И так, удалите старую версию моей проги. Затем скачайте новую:
     
    pastebin get uX4SUTGG /test.lua
     
    Скачалось? Наберите test. Дальше следуйте инструкциям. После настройки ваш код автоматически скачается и запустится. Всё, всем пока, надо торопится.
×
×
  • Создать...