Перейти к публикации
Форум - ComputerCraft

Programist135 Soft

  • записи
    4
  • комментария
    23
  • просмотр
    13 041

Об этом блоге

Not a Google Play

Записи в этом блоге

 

Farmer 0.1 - фермочка

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

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

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

Ну вот и всё, надеюсь вам эта программа пригодится, всем пока!

Programist135

Programist135

 

"Мелкое" обновление для Cloud9 Editor'a

За вчерашний вечер и сегодняшний день я немного обновил свою программу.   Изменения: Добавил комментарии и пробелы в код. Исправил баг: если в вашем тестовом коде ошибка, программа её не выдавала, и саму прогу не запускала, хотя писала, что всё успешно. Более удобная настройка.

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

Programist135

Programist135

 

Cloud9 Editor - замена редактора Edit!

Всем привет!   Меня задолбало копировать код из 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", а после проверки удаляется) и закроется.   Ну, всем спасибо за прочтение, а я пойду сделаю что-нибудь другое. Всем пока!

Programist135

Programist135

 

Programist135 API

Стоимость программы: [...............] 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 минут ). И о чём я вас хотел предупредить: Если один из компонентов для выполнения особых функций не подключен (или оба), то эти функции вы не увидите. И не сможете их использовать. Если обнаружите глюк, немедленно сообщите сюда в комментарии. Если имеются идеи по пополнению библиотеки, напишите так же сюда в комментарии. Так вы сделаете пользу и мне, и себе, и остальным.

Ну а на этом я с вами прощаюсь. Всем спасибо за прочтение, надеюсь библиотечка вам пригодится, а с вами был (нет, пора на что нибудь другое перейти!) всем до скорой встречи, всем пока!

Programist135

Programist135

×