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

Лидеры


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

Показан контент с высокой репутацией 10.04.2020 в Сообщения

  1. 1 балл
    Автор темы давно не появлялся здесь, но я попробую ответить за него. На computercraft.ru обычно приветствуется развитие любых наработок, необязательно своих. Но если часть кода позаимствована, то очень желательно указать автора со ссылкой на его наработки. Также в описании своего творения желательно указать, что именно было позаимствовано, что было выполнено самостоятельно, что переработано, и в чём преимущество этих доработок.
  2. 1 балл
    Предисловие Я думал на новый сервер запилить прогу — мост между чатом сервера и IRC. У меня уже были такие программки: я насчитал минимум 6 различных версий мостов — каждая была немного переделанным клиентом IRC, который на дискете встроенной есть. Понять, в чём разница, даже с вимдиффом было сложно. Потому я плюнул и решил запилить полноценную ирколибу с красивой апишкой. Как это выглядит Вот полный код бота — моста. Сто двадцать шесть строчек. Прокомментирую некоторые из них. ① Подключаем либу и для укорачивания имён ещё вытаскиваем events, в которых хранятся все ивенты и priority. ② Создаем клиент с помощью билдера. ③ Через :connection задаём настройки соединения. Самое важное — адрес иркосервера. Порт обязателен. ④ Ирколиба знает меру в флуде. Опасаться, что бота выкосит флуд-фильтром, можно гораздо меньше. Это опционально, конечно. ⑤ Задаём ник бота, юзернейм и реалнейм. Юзернейм виден в хосте (nickname!username@domain.name), а реалнейм пишется в /whois. ⑥ Ирколиба умеет авторизовываться на сервере. Тоже опционально. ⑦ Эта группа выделена для ботоводческих настроек. Но пока там единственная опция — в какие каналы автоматически заходить. ⑧ Здесь задаются настройки исполнения. Опция threaded, по дефолту включённая, запустит бота в отдельном треде. Опция reconnect, также включённая по умолчанию, заставит бота переподключиться к серверу, если отвалится от него. Опция catchErrors перехватит ошибки в пользовательких листнерах; она отключена по умолчанию, чтобы не смущать. ⑨ Бот генерит ивенты для каждого сообщения. Так мы задаём обработчик для ивента. К слову, вместо функции здесь может быть корутина. ⑩ Есть и другие события. Например, irc.events.client.connected означает, что клиент соединился с сервером. А irc.events.client.authenticated говорит, что теперь можно слать сообщения. ⑪ Когда мы закончили конфигурировать бота, собираем через :build(). Если вместо него вызвать :buildAndRun(), бот тут же ещё и запустится. ⑫ Для удобства создадим ещё один тред, где будем работать с чатбоксом и ждать ^C. ⑬ Запускаем бота. Затем ждём завершения любого из двух потоков. ⑭ Когда это произошло, мы выключаем клиент, если он ещё подключен: тот выйдет с сообщением "Quitting." ⑮ Наконец, принудительно останавливаем потоки. На всякий случай. Красота ведь. Репозиторий Репа либы — на нашем гитлабе. Там же есть примеры использования и документация с описанием всего. Наконец, версия 1.0.0 лежит на хеле. Из-за баги в OC хпм крашиться может (фиксить лень), но можно попробовать скачать: $ hpm install libirc
  3. 1 балл
    WinDOS 1.0 п.с. Придумываю названия майнкрафт оськам на луа, рисую логотипы фломастерами, упаковка, реклама, маркетинг, доставка на дом, опт и розн. 3 года на рынке. Москва, Басманный пер., д.5/13, неприметный подвальчик с черного входа с вывеской "Даем названия оськам" , спросить Эдуарда Вениаминовича Копалкина или уборщицу бабу Клаву. Недорого. Гибкая система скидок. Тел. +7 (495) 555-01-21.
  4. 1 балл
    Переключение рабочих столов теперь работает! Делается это командой workspace Переключение занимает определенное время(0.5 сек), потому что в этот момент происходит считывание файла-скриншота с диска и восстановление той картинки, которая была отображена на рабочем столе
  5. 1 балл
    Теперь дебажить программы намного удобнее:
  6. 1 балл
    Сейчас допиливаю оконный менеджер. Добавил возможность делить окно на 2 части командой split
  7. 1 балл
    Немного перемудрил с переменными, смотрите как сразу перекосило ее
  8. 1 балл
    Вот какое чудо удалось сделать: Теперь каждый сможет запускать несколько lua-интерпретаторов, редакторов кода, GUI-программ и распределять их по рабочим столам Я запускал эту программу на компе с 1МБ ОЗУ P.S. Наконец-то приручил стандартный OpenOS-терминал
  9. 1 балл
    На мой взгляд, разрешение ОС-монитора не такое большое, чтобы делить его на окна. Если бы я стал писать многозадачную операционку, разделение экрана я бы реализовал не как в Windows, а как в Androidе. Т.е. из всех запущенных приложение только одно захватывает экран, оно же обрабатывает события мыши и клавы. Остальные приложения крутятся в фоне и если что-то пишут, то на свой виртуальный экран. Но, это лишь мое скромное мнение.
  10. 1 балл
    Реализовал часть функций оконного менеджера. Реализовал переключение окон
  11. 1 балл
    Вот еще интересный, красочный пример. Запустил две змейки на одном компе: Проблема только в том, что обе змейки реагируют на нажатия клавиш, но эта проблема легко решаемая P.S. Программу "змейка" я скачал с форума и запустил в своей ОС без каких-либо доработок
  12. 1 балл
    Реализована возможность запуска нескольких программ одновременно!!! В этом примере каждая программа запущена в отдельном окне 10х10 символов. Это 2 одинаковых программы. Эта программа будучи запущенной в "одиночном" режиме занимает все окно: Примечание: в скиншоты попал мой терминал(фиолетовая область). Я криворукий и мне лень переделывать Программы запущены в эмуляторе, так что они работают намного быстрее. Пока еще не тестил в майне
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...