Перейти к публикации
Форум - ComputerCraft
  • записи
    4
  • комментария
    23
  • просмотров
    13 139

Programist135 API

Programist135

1 158 просмотров

Стоимость программы: [...............] 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. Особые функции.
А для работы следующих функций нам потребуется уже два (!!!) компонента -> Дата-карта и Модем (не важно, проводной или беспроводной ;))

 

Эта функция отправляет (бродкастит :rolleyes:) защищённое сообщение. Да, это уже не как либа криптования Asummonster'a :smile148:

  • sendSecuredMessage(...)


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

  • getSecuredMessage()


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

 


data1, data2, data3 = P135API.getSecuredMessage()

 

Вот и всё.
4. Итоги
Да, писал статью я ОЧЕНЬ долго (ну где-то 40 минут B-)). И о чём я вас хотел предупредить:

  • Если один из компонентов для выполнения особых функций не подключен (или оба), то эти функции вы не увидите. И не сможете их использовать.
  • Если обнаружите глюк, немедленно сообщите сюда в комментарии.
  • Если имеются идеи по пополнению библиотеки, напишите так же сюда в комментарии. Так вы сделаете пользу и мне, и себе, и остальным.


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

  • Like 3


4 комментария


Рекомендованные комментарии

Ахахах, 40 минут — ОЧЕНЬ долго =) Это ОЧЕНЬ мало, я б сказал.

Ещё долго ржали в ирке над Библиотека для программ Programist135® Soft™ :D

И комменты на каждый шаг =) Для чайников прямо.

 

Но ладно.

 

 

Напомню, что надо не secured, а encrypted. И это не бэйз64 точно =) Он легко распознаётся. И ломается...

 

Но молодец.

  • Like 1

Поделиться комментарием


Ссылка на комментарий

Ахахах, 40 минут — ОЧЕНЬ долго =) Это ОЧЕНЬ мало, я б сказал.

Ещё долго ржали в ирке над Библиотека для программ Programist135® Soft™ :D

И комменты на каждый шаг =) Для чайников прямо.

 

Но ладно.

 

 

Напомню, что надо не secured, а encrypted. И это не бэйз64 точно =) Он легко распознаётся. И ломается...

 

Но молодец.

Хорошо, тогда наверное сделаю я так:

  • Чтобы система не бродкастила, а передавала сообщение определённому пользователю;
  • Переименую Secured в Encrypted.

Всё это будет в следующей записи на блоге.

Поделиться комментарием


Ссылка на комментарий

У меня вопрос по передаче шифрованных сообщений. Если у злоумышленника будет компьютер с модемом, дата-картой и этой прекрасной библиотекой, что помешает ему принять и расшифровать мое зашифрованное сообщение?

  • Like 1

Поделиться комментарием


Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×