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

Лидеры


Популярный контент

Показан контент с высокой репутацией 08.12.2018 во всех областях

  1. 1 балл
    ПЛАН БИТВЫ 1) Схема 2) Пояснение Внутри банка - кабинки. Внутри кабинок - терминалы. Внутри терминалов - программа, которая общается с клиентом, узнает, какого черта ему нужно и затем общается с банковским серваком на предмет возможностей и толщины кошелька клиента. Возле терминалов - сундуки, в которые клиент кладет свой товар. И откуда забирает купленое. За стеклянной стенкой - орава роботов. Роботы берут товары, которые продал клиент, из сундука, пересчитывают и увозят в "хранилище" (или просто выкидывают в дезинтегратор, все равно у админа креатив). Затем они получают в "хранилище" покупки клиента и везут их обратно. Командует парадом - "шеф", банковский сервак. Он следит за прайсами (которые отправляет на дисплеи в вестибюль), отвечает на запросы терминала и роботов и без зазрения совести генерирует из воздуха новые товары в "хранилище", пользуясь читкодами и дебаг-платой. Кроме того он ведет базу данных клиентов, записывая состояние счета каждого. Общение идет по беспроводной связи, строго по внутренним адресам сетевых плат. Ни байта наружу, ни байта извне. Итого: для работы банка потребуется написать три программы. 1) Терминал. По большей части - это просто графический интерфейс, который действия юзера преобразует в запросы к "шефу". 2) Робот. Робот передвигается по банку, отвечая на вызов клиента и перевозя товары. Он проверяет ID товаров, и их количество и передает эту инфу "шефу". 3) Сервер. Сам "шеф". Командует парадом.
  2. 1 балл
    @Asior, дык это, написано ж: file does not exists. Стопудова ты музло в корень диска положил, а запускаешь по относительному пути без /, находясь в /home/
  3. 1 балл
    Нужна "обгатная" для полной гагмонии с еггогами в пгоггамме. И тему надо пегеименовать в "калькулятог". С ггафическим интегфейсом.
  4. 1 балл
    Большие растровые шрифты хорошо подходят для рекламных вывесок — бегающего текста. До появление этой библиотеки не было удобного способа использовать их в OpenComputers. Но теперь есть. pastebin get Mz7Ps5jQ /usr/lib/ocbf.lua Библиотека максимально прозрачна и сама по себе отрисовкой не занимается. Для отрисовки удобно использовать библиотеку Braille Bicycle от товарища @Totoro. Все шрифты хранятся по пути /usr/share/fonts в таком виде: /usr/share/fonts ├── IBM Plex Serif │ ├── Bold Italic.ocbf │ ├── Bold.ocbf │ ├── Italic.ocbf │ └── Regular.ocbf ├── Prosto One │ └── Regular.ocbf └── Roboto ├── Bold Italic.ocbf ├── Bold.ocbf ├── Italic.ocbf └── Regular.ocbf Для конвертирования новых шрифтов можно воспользоваться утилитой на языке Python: ocbf.py. Для ее работы необходимо установить библиотеки PIL, bitarray и tqdm (Python3). OCBF содержит в себе всего две функции: ocbf.load(family: string, style: string) — находит шрифт по указанному семейству и стилем, парсит его и возвращает объект шрифта. Если первый аргумент — это путь, то поиск производится не будет; вместо этого шрифт будет загружен из указанного файла (обязательно с расширением ocbf) ocbf.search(family: string, style: string) — находит шрифт и возвращает путь до него. Все функции ищут шрифт в директориях, указанных в переменной ocbf.path = "/usr/share/fonts:/home/.fonts:.". Из кода видно, что поиск осуществлятся в /usr/share/fonts, /home/.fonts и в текущей директории. Объект шрифта предоставляет следующие методы: font:drawChar(set: function, size: number, char: string, x: number, y: number) — отрисовывает один символ размером size используя шрифт по координатам (x; y). Функция set принимает три аргумента: координаты точки и значение 1 — точка заполнена и 0 — точка пуста. font:draw(set: function, size: number, str: string, x: number, y: number) — работает так же, как и font:drawChar, но отрисовывает сразу все символы. font:width(size: number, str: string — возвращает ширину строки с заданным размерам в точках. Помимо вышеперечисленных методов также есть свойства font.family, font.style и font.sizes. Все функции принимают аргумент size. Это высота шрифта в точках. Поскольку используя растровые шрифты невозможно обеспечить поддержку сразу всех размеров, size для разных шрифтов имеет разные допустимые значения. Для каждого размера в шрифте дублируются символы. Предоставляю также набор шрифтов Roboto — Regular Roboto — Bold Roboto — Italic Roboto — Bold Italic IBM Plex Serif — Regular IBM Plex Serif — Bold IBM Plex Serif — Italic IBM Plex Serif — Bold Italic Prosto One — Regular Все шрифты кроме Prosto One представлены в размерах 16 и 32 точек, Prosto One — 32 и 64. Имеется поддержка латиницы и кириллицы. Также стоит отметить, что для работы библиотеки необходим Lua 5.3 — используется string.unpack, побитовые операции, UTF-8. Для отрисовки текста на изображении в начале поста использовался следующий код: local ocbf = require("ocbf") local braille = require("braille") local matrix = braille.matrix(320, 200) local font1 = ocbf.load("Prosto One", "Regular") local font2 = ocbf.load("Roboto", "Bold") local font3 = ocbf.load("Roboto", "Regular") local function set(x, y, v) braille.set(matrix, x, y, v) end font1:draw(set, 64, "OCBF", 4, 1) font2:draw(set, 32, "Растровые шрифты", 4, 65) font2:draw(set, 32, "для OpenComputers", 4, 98) font3:draw(set, 32, "от LeshaInc", 4, 168) braille.render(matrix, 1, 1)
  5. 1 балл
    @@kotik_prikol, Неправильно ты, Дядя Федор, пианино настраиваешь. Надо его по логарифмической шкале настраивать, так приятнее.
  6. 1 балл
    Привет! Небольшое предисловие. Программа которую я подготовил сделана специально для того чтобы получить доступ на сервер. Код может быть ужасен, потому что это моя первая программа на Lua. Да сегодня утром я еще ничего не знал о Lua, а пару дней назад я не знал о OpenComputers и вообще что в к майнкрафту появилась куча интересных плагинов. Последний раз я играл в майнкрафт в 2012 году и это была ванилла. А теперь к делу - программа эта одновременно интерпритатор макроязыка который я назвал IronMacros и библиотека которая позволяет его расширять. Синтаксис довольно аутистский но очень краткий. Пример тестового макроса (скрины результата приложены): S1# select 1st slot R020C# make 2 R060B# 6 cubes R0502# x5 cubes planes P0M# place cube go up >^<WWWWW#move next stripe S2# select pickaxe R0502 XFM <^>WWWWW XFM<^>#star cut U R030A R0402 XFM <^>WWWW WXF<^> R0502 XFM#star cut R W<^>XF WWXFWW <^> R030C XFMXFMMXF <^>WWW <^> R0502 XFM Можно одной строкой (жесть): S1R020CR060BR0502P0M>^<WWWWWS2R0502XFM<^>WWWWWXFM<^>R030AR0402XFM<^>WWWWWXF<^>R0502XFMW<^>XFWWXFWW<^>R030CXFMXFMMXF<^>WWW<^>R0502XFM Результат: Сама библиотека/интерпритатор: Как использовать: 1. Пишем макрос сохраняем в файл 2. В терминале пишем ironmacros <filename> filename это имя нашего макроса 3. Profit Имплементированные макрокоманды # - комментарий, после символа вся строка пропускается ^ - двигаться вперед V - двигаться назад > - повернуться вправо < - повернуться влево M - двигаться вверх W - двигаться вниз RXXYY - цикл, где XX количество повторов в 16тиричной системе. YY количество команд, которые следует повторять в 16тиричной системе ( считаются только команды, аргументы, передаваемые командам, упускаются) SX - выбрать слот инвентаря с номером X, номер X 16тиричный PX - поставить блок впереди себя X - на какой сайд ставить (аналог place([side])) XY - махнуть активным слотом (атака/поломка блоков) где Y по какому сайду бить (аналог swing([side]) при передаче в качестве параметра F вызывается подефолту swing() Ну и как вы уже заметили (я надеюсь) сейчас все это заточено исключительно под робота. Вкратце о внутренностях: 1. функции управления литералами макрокоманд registerMacros(symbol, func) unregisterMacros(symbol) регистрирует или снимает регистрацию заданного символа. func функция обработчик например так: im = require("ironmacros") local func = function() print("ZzzZzzZzzZ") end im.registerMacros("Z",func) теперь если записать в макрос Z будет в терминал будет напечатано "ZzzZzzZzzZ" Эти функции нужны лишь для того что бы расширять язык. Для пользования текущей версией они не нужны. 2. функции исполнения run(filename) - открывает файл в котором записана последовательность макрокоманд и запускает ее. filename - имя файла readCmd() - читает макрокоманду соответственно значению регистра pc(pc.x pc.y) exec(cmd) - запускает команду cmd на исполнение. Под командой имеется ввиду макрокоманда "Z" или ">" Эти функции нужны лишь для того что бы расширять язык. Для пользования текущей версией они не нужны. 3. Функции управления регистром fstep([count]) - функция инкрементирует значение регистра pc.x (если требуется инкрементировать pc.y , pc.x присваивается 1 ). count опционально коллчество шагов dstep([count]) - функция инкрементирует pc.y присваивает pc.x 1 если больше нет команд на исполнение заканчивает скрипт. count опционально коллчество шагов set(reg, val) - установить регистр reg ("x" или "y") на значение val Эти функции нужны лишь для того что бы расширять язык. Для пользования текущей версией они не нужны. 4. Добавление своей макро команды В исходнике все макрокоманды добавлены используя вышеприведенные функции. Можно ознакомится, там все просто. Раздел REGISTRED DEFAULT MACROSES PS Да забыл pastebin.com: lib: http://pastebin.com/eBbZrRGi macros: http://pastebin.com/Q4DRDKDV
  7. 1 балл
    12 нот в октаве Почему же у тебя их только 9?(((
  8. 1 балл
    Методом научного тыка не зная Луа удалил часть кода и баг прекратился Поднял настроение!!! Разобрал телевизор, чего-то там перепаял, собрал все назад - телевизор начал работать и еще детали лишние остались
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...