Fingercomp
Гуру-
Публикации
1 629 -
Зарегистрирован
-
Посещение
-
Победитель дней
283
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Fingercomp
-
MoonJam — джем с привкусом луны // завершён
Fingercomp добавил запись в блоге в Fingercomp's Playground
Лого от Totoro Здрассьте! Несколько дней назад я прогуливался по всяким оплотам бюрократии и, не теряя времени, заодно размышлял о том, что форум наш наводит тоску и уныние: программок нет, ничего не обсуждается, дискуссии только разве что о лагах на сервере и сборочках с недосборочками. И появилась идея организовать конкурс программистский типа джема. Джем — это желеобразный пищевой продукт с равномерно распределёнными в нём целыми или измельчёнными плодами (ягодами), сваренными с сахаром с добавлением желирующих веществ... То есть, это такой конкурс, где даётся очень ограниченное время, которое надо умно потратить так, чтобы к кноцу срока предоставить готовый программный продукт. Игрушка под ведроид за два-три дня, как пример. Проекты в джемах, очевидно, совершенно недоработанные, борьба там идёт за идею. Но после конкурса никто не запрещает продолжить этот начатый проект. Так вот. До воскресенья, до 17 июля шеcтнадцатого года, будет по-тихому проходить тоже свой небольшой конкурсик. Он будет не столь серьёзным, чтобы вообще даже называться джемом: времени много, а проект не самый сложный. Есть время подумать, погуглить, поспрашивать на форуме. Итак, условия этого небольшого конкурсика: Дедлайн семнадцатого июля 2016 года (2016.07.17), воскресним вечером. За это время необходимо продумать и реализовать проект, написанный на языке MoonScript. Не пойдёт переписывание уже готовых программ на форуме на этот язык. Платформа абсолютно любая — хоть OpenComputers, хоть ComputerCraft, винда или лялех, Love2D, всякие микроконтроллеры — главное, основную часть должен играть код на MoonScript, оттранспиленный в Lua. Проект по завершении оформить нужно топиком на форуме, указав ссылку на pastebin, gist или github (последние два варианта предпочтительнее) с исходным кодом. На нашем IRC-канале, куда мы не устаём всех звать, мы будем обсуждать и выбирать интересные программы. После дедлайна тех, кто реализует самые интересные (по голосованию) проектики, объявим победителями конкурса. Если вообще будет какой-нибудь интерес к этому мероприятию, думаю, организуем награды в виде медальки на форуме, всяких поощрений в виде ююшек или денежек игровых. Может быть, что-нибудь особое вручим, кто знает. Ключевое условие: участие людей и интерес к конкурсу. Если есть интересные идейки для программы — самое время их реализовать. Заодно подучить новый язык программирования, что явно в пользу пойдёт. И пока что я довольно скептически настроен, в общем и в целом, так как не особой популярностью пользовались конкретные конкурсы и заказы. Но надо же как-то расшевелить форум. Так что дерзайте, и да прибудет удача. Во имя Луны! P. S. Слева вверху теперь прикручен обратный отчёт до конца джема. P. P. S. Добро пожаловать в Треллу! https://trello.com/b/ROncU99z/moonjam — вся та же информация, но в собранном и отклассифицированном виде. P. P. P. S. MoonJam завершился! -
Прекрасная идея
-
Ну писал же в блоге, специально из коммитов выдёргивал, чтобы таких вопросов у вас же не было... Сэнгара-таки одолели, и pastebin, wget, lib/internet.lua уходят в OpenOS. Качайте самый последний билд и переустанавливайте ось, если хотите.
-
Имеется один проект на Питоне, который потребовал для себя парсер семантического версионирования, семвера, в общем. Ну там такие штуки как парсинг версий человеческий, обработка ввода юзверёв, умение сравнить все эти версии и выбрать из списка по указателю типа ">=1.5.17", ну, думаю, об этом вы слышали. К слову, вот тута лежит спецификация SemVer: http://semver.org/, можете почитать. Ну и нашёл я либу интересную, semantic_version зовётся. Подключил и нарадоваться не мог фичам всяким. И там пирожки, и здесь пэнкейки, в общем, использовалась весело и радостно. В рамках того же проекта ещё умещался репозиторий на мункрипте, который мункриптил очень важные дела, и ему тоже нужен был парсер. Без промедления открыл файлик того парсера, и спустя два вечера этот парсер был успешно портирован на Мункрипт, при всём при этом он даже работал! D: Ну, как минимум, насколько хватило желания протестить. Так что вот как-то так у нас всё получилось, я по-быстрому ознакомился с лицензией тех ребят, оформил всё более-менее и пихнул в свою репу на OpenPrograms. Потому если интересно будет когда-нибудь решить вопрос с версиями, то милости просим использовать либу libsemver, для OC её можно скачать с помощью OPPM: oppm install libsemver. Документации для либы этой именно я не писал, ибо она работает на 99% так же, как и оригинал. Потому вся инфа здесь: https://python-semanticversion.readthedocs.io/en/latest/ А, ну и мой отзыв по поводу мункрипта: язык этот сумасшедший, но норм, писать можно. Ознакомиться с ним лишним явно не будет, так что осаждайте референс языка. Удачи!
-
Дискуссии, игры, норкомагия, кодинг и, в общем, интересности. Ждём на #cc.ru на сервере irc.esper.net!
-
[OC Updates] Обновление OpenComputers до версии 1.6.0 Beta 4
Fingercomp добавил запись в блоге в Fingercomp's Playground
Недавно вышло мелкое обновление OC, которое я пропустил из-за некоторых проблем, и в нём: ДобавленоИнтернет-карты посылают событие, когда они получили данные по сокету и можно использовать :read. [*]Пофикшено Несколько мелких багов. [*]OpenOS Небольшие фиксы install, /lib/buffer.lua, ls, /lib/package.lua, rc, /lib/sh.lua. Вот и всё действительно небольшое обновление. Скачать можно по ссылкам в блоке справа сверху. -
Квертик, человек программирует хотя бы, не все же мастерами рождаются. Пусть пробует, делает, учится, пытается, нафига сразу тапки кидать? И кончай уже, в самом деле, в каждом втором посте, описывать свою волокиту всяких программулечек несчастных. Смысла от таких твоих постов ноль. P. S. А вещи и правда самые полезные. В каждую прогу свою подключаю.
- 12 ответов
-
- 3
-
-
- Open Computers
- программа
- (и ещё 1 )
-
Ржавеем по полному! #2. Переменные. Литералы и операторы.
Fingercomp прокомментировал LeshaInc запись в блоге в IncluderWorld
Разительные отличия там, принципы, которых нет ни в одном другом языке. А пока что тут описываются просто базовые операторы. -
Напишу. После релиза CX. Сейчас главное — разобраться с звуковой картой. Но, как я вижу, как-то не особо люди хотят помочь. Пока рекомендую хотя бы почитать описания функций карты шумовой. И, к слову, там нет ничего интересного.
- 10 ответов
-
- computronics
- карта
-
(и ещё 2 )
Теги:
-
Всё там доделано и работает прекрасно.
- 10 ответов
-
- computronics
- карта
-
(и ещё 2 )
Теги:
-
Взываем на помощь богов и богинь звука! В общем, в CX в 1.6.1 заезжает крутейшая, звуковая карточка. Я сейчас вкратце опишу её функции, взятые из исходников мода. sound.modes — это таблица, которая содержит пары "имя формы волны ⟷ её код" и наоборот. Например, sound.modes.sine вернёт код для синусоиды. Вроде 0, лень вверх по сырцам бежать. Имеются следующие формы волн: square (ква... меандр), sine (синусоида), triangle (треугольная), sawtooth (пилообразная). А ещё есть noise — это белый шум. Есть функция sound.setTotalVolume(volume: number), которая моментально для всех каналов выставляет общую громкость (от 0 до 1). Каналы? Их, как и у предшественников — шумовых и пищащих карт, — 8 штук. Они нумеруются от 1 до 8 включительно, и на каждый из них можно поместить... Инструкции, которыми управляется звуковая карта. Есть некая "очередь" у звуковой карточки, в которую помещаются определённые инструкции, и затем... sound.process() запускает в фоне обработку этой "очереди". То есть, будут устанавливаться параметры, играться звук и прочее. Обращу внимание, что это всё в фоне, да. То есть, нам нужны циклы типа таких: while not sound.process() do os.sleep(.05) end. Очередь можно почистить через sound.clear(). И снова про каналы. Каждый из них может быть закрыт или открыт. Соответственно, закрытый канал в большинстве случаев играть звук не будет, а открытый — с превеликим удовольствием. Открыть можно с помощью sound.open(channel: number), закрыть — sound.close(channel: number). И да, это уже инструкции. Вот вам ещё инструкций. Можно установить форму волны на отдельном канале: sound.setWave(channel: number, type: number), вторым аргументом надо скормить код, полученный через sound.modes. Можно установить частоту этой самой волны с помощью sound.setFerquency(channel: number, frequency: number). Инструкция, а как же. Если вы любители... ээ, регистра сдвига с линейной обратной связью, в общем, LFSR/РСЛОС, можно даже на канал ответственную задачу генерирования этого шума возложить. Функция: sound.setLFSR(channel: number, initial: number, mask: number). Чёрт знает, как она работает. Функция sound.delay(duration: number), должна, вообще, выставить какую-то задержку с данной длительностью в миллисекундах. Но что-то я совершенно не понимаю, как её использовать. А использовать надо! Иначе звука не будет. И сразу же можно поставить частотную модуляцию с помощью sound.setFM(channel: number, modIndex: number, intensity: number). Или убрать её: sound.resetFM(channel: number). Тем же образом можно выставить и амплитудную модуляцию. sound.setAM(channel: number, modIndex: number) и sound.resetAM(channel: number). С помощью sound.setADSR(channel: number, attack: number, decay: number, attenuation: number, release: number) имеется возможность выставить ADSR-огибающую. Второй, третий и пятый аргументы указываются в миллисекундах, четвёртый — в виде числа от 0 до 1. Или убрать её: sound.resetEnvelope(channel: number). Для отдельного канала возможно выставить громкость, для этого нужна команда sound.setVolume(channel: number, volume: number). Громкость, как обычно, от 0 до 1. Собственно, это все функции. Теперь осталась мааааленькая запинка, с которой после несколько часов тыканья я не особо справился. Как заставить эту карту сгенерировать мне звук? Потому предлагаю поиграться с этой штукой всем форумом 1.7.10: качаем OC, CX и Asielib. 1.8: OC тут, Asielib не нужен. 1.9: OC тут, Asielib тоже не нужен. И если вы-таки поняли, как заставить её генерировать звук разных уровней крутости, отпишитесь об этом здесь.
- 10 ответов
-
- 5
-
-
- computronics
- карта
-
(и ещё 2 )
Теги:
-
Поговорим о Луне! #0. Угадываем числа.
Fingercomp прокомментировал Totoro запись в блоге в Totoro Cookies
Кидаю тапок в небо. До Луны долетит?.. В общем, спешу сообщить, что круто. В блокнотик пометку поставил теперь, чтобы посмотрел подробнее в мануалы по мункрипту.- 6 комментариев
-
- программирование
- lua
-
(и ещё 1 )
Теги:
-
[OC Updates] Обновление OpenComputers до версии 1.6.0 Beta 3
Fingercomp добавил запись в блоге в Fingercomp's Playground
Обновление OpenComputers до третьей беты 1.6. Сегодня в гостях у нас следующие изменения: Добавлено В русский мануал добавлена информация про saveConfiguration (PR #1855 от cyber01). Функция computer.getProgramLocations, которая используется для программы install из OpenOS. [*]Пофикшено Неожиданный баг с сохранением мира в версиях MC выше 1.8. [*]OpenOS Команда cat теперь будет читать stdin, если не указан файл. cp: поддержка путей вида /. и более мелкие фиксы. df теперь поддерживает относительные пути. Функция next либы /lib/guid.lua теперь возвращает GUID в корректном формате. head теперь закрывает stdin. install был сильно переработан и теперь с помощью этой программы можно устанавливать файлы с loot-дискет (и не только), мануал в man install. less теперь поддерживает скроллинг, в кои-то веки! Ну и алиас в /etc/profile был, конечно, убран. В mv добавлено несколько проверок: команда будет выдавать теперь ошибку, если путь назначения в режиме только для чтения или путь имени для копирования — точка монтирования. У rm была пофикшена проблема, при которой ссылки на директории не могли быть удалены. Шелл поддерживает экранировку пробелов и может отдавать сигнал SIGPIPE. А ещё позволяет использовать getWorkingDirectory до установки переменной окружения PWD. На момент писания этого текста в install был уже обнаружен один баг, который даже пофикшен, остаётся ждать принятия PR. Github -
Какой олень к чертям-то?.. Это дракон, он же сверху даже медальку поставил, чтобы догадались... А жук — это вообще с первого раза любой человек догадается. Докладчик о багах, опять-таки сверху медалька. Баг, напомню, в английской версии звучит как "Bug". Что означает "жук" как раз-таки. Не надо в танке сидеть, это крайне очевидно. Несмотря на то, что там Тоторо говорит, выглядит нормально, означает только одну очевидную вещь.
-
Двоякое чувство. Если бы это был приватный сервер или сингл, я бы даже не против такого крафта был, наверное. Мне всё равно интересен мод, и платы эти несчастные я накрафчу в любом случае. Но я (пока что) пишу и вижу это на computercraft.ru, который в стародавние времена имел цель научить программировать на Lua, используя мод ComputerCraft или, позже, OpenComputers. Сейчас я глянул — там от этого ни следа не осталось, только объединение желающих играть с данным модом и всякими другими. Но нёрф такой я воспринимаю скорее отрицательно, чем нейтрально. Особенно, пока вместо написания программки для робота можно тупо каких-то големов понаставить, которые, конечно, помогают так помогают изучать программирование, дааа. Или ветряков миллионы понаставить, конечно, без них-то вообще писать код невозможно. Печально видеть, как, в бывшем, полигон для программирования и теста своих программ, где можно обсудить в чате их или другую тему с адеватными игроками, превращается в непонятно что, с какими-то непонятными иногда твиками и безумной модерацией. А чуть как пытаешься сказать об этом, то игнорирование, троллинг сразу. Так что лично пока на сервер я лучше даже заходить не буду, пока не уладится всё. P. S. Я тут вообще подумал, что такой крафт в тему при нёрфах всей остальной части майна. Тогда хоть готов морально к заморочкам. А так выглядит как обижание модика бедного, на который проект упор когда-то делал.
-
Ну для инвентаря МЭ ещё не придумали.
-
Ну да если хотят люди на такой риск идти — почему б не поставить?
-
[OC Updates] Обновление OpenComputers до версии 1.6.0... Beta 2
Fingercomp добавил запись в блоге в Fingercomp's Playground
Начну со слов автора мода: "давайте будем считать, что кандидата к релизу не было. Не потому, что он был сломан, нет. Просто я добавил несколько вещей, которые требуют тестирования, поэтому у нас снова будет бета". Изменения ДобавленоНовая функция computer.getDeviceInfo() теперь возвращает список всех компонентов, имеющихся у устройства, включая планки памяти, процессоры и пр. Для показа их в OpenOS есть теперь команда lshw. [*]Изменено Большинство "магических файловых систем" у компонентов было перенесено в дискеты. То есть, теперь, чтобы иметь либу lib/internet.lua, например, придётся любую из уже имеющихся стандартных дискет OC (дискету OpenOS, например) в сетке крафта объединять с ключом OC (Scrench), пока не получится нужная дискета, а потом скопировать файлы с дискеты на устройство. Но есть и положительная сторона изменения: те диски стандартные, которые можно было найти только в данжах, теперь могут быть спокойно получены через тот же самый ключ. Теперь игрок не будет в AFK для сервера, если он что-то пишет в мониторах, например. Команда /oc_dn будет теперь выводить дебаг-инфу и в чат выполнившего эту команду. Та самая команда saveConfiguration, которую я внезапно обнаружил некоторое время назад, теперь таки добавлена в мануал. [*]Пофикшено Контейнеры с жидкостью могли пропадать в апгрейде-генераторе (например, cells из ИК2 с лавой). Роботы могли всасывать вёдра жидкости не из источника её в мире, а из прилегающих "текущих" блоков. Всякие внутренние функции были тоже пофикшены. Потенциальный фикс какого-то бага с серверной стойкой. gpu.setResolution возвращала false, даже если разрешение было изменено успешно. При разборке планшета теперь будет, как и положено, возвращаться с нормальным шансом контейнер апгрейдов. [*]OpenOS Добавлены devfs. Те самые магические штуки внутри /dev. /dev/null, /dev/zero. Перенаправление I/O. Это не так страшно: myprogram > stdout.log 2> stderr.log. Но объяснять, что это, не буду — кто знает, тот поймёт. Более тысячи (ТЫСЯЧИ) юнит-тестов для OpenOS. Множество мелких фиксов. Напомню, что разработка OC 1.6 уже заняла более 1 года и ещё 2-3 месяцев. Список изменений на релизе обещает быть огромнейшим. Скачать новую версию можно, как обычно, на билд-сервере: 1.7.10: http://ci.cil.li/view/OpenComputers/job/OpenComputers-1.6-MC1.7.10/lastSuccessfulBuild/artifact/build/libs/OpenComputers-MC1.7.10-1.6.0.4-beta.2-universal.jar 1.8.9: http://ci.cil.li/view/OpenComputers/job/OpenComputers-1.6-MC1.8.9/lastSuccessfulBuild/artifact/build/libs/OpenComputers-MC1.8.9-1.6.0.5-beta.2.jar 1.9.4: http://ci.cil.li/view/OpenComputers/job/OpenComputers-1.6-MC1.9.4/lastSuccessfulBuild/artifact/build/libs/OpenComputers-MC1.9.4-1.6.0.1-beta.2.jar Или же на GitHub, если угодно. -
На ИТ ещё и смотрели на этот вирус, правда, как-то нифига не хотелось такое читать в станлартном редакторе Мне лично нравится. Особенно, плавающий текст. Красота же.
- 30 ответов
-
Я тоже поймал грустишку. Ни одной библиотеки графической с нужным функционалом нет. С меня хватило дебажить и оптимизировать кастомный ловисипедный рендер лаунчера игр и "Жизни".
-
Смерть — это одна из игровых механик. Я лично как раз по неосторожности погибал в нескольках тысячах блоков от дома — просто пришёл и подобрал. Тем более, что у вас предметы исчезают только в загруженных чанках. Ещё удобнее возвращаться на место смерти с варпами. Их очень много, просто найти ближайший и переместиться. А там дошагать немного до шмота. Попросить помощи у игроков никто не запрещал тоже. Наверняка у кого-нибудь приватный варп близко. Так что я считаю, что команды /back не должно быть на сервере. Сервер просто-напросто превратится в детский. Смысл всех опасностей кубача, если тупо можно прописать /back? Его именно, что нет. Ну и в обычном ванильном сингле никаких варпов или, уж тем более, бэков нет. Неслучайно тёти-дяди из Mojang такое не сделали. PvP — тоже игровая механика. Но вот только обычно такой "крутой" механикой пользуются какие-то неадекваты с лолосерверов. Мешают спокойно играть, да. И хорошо ещё, что ни разу на сервере не попадал к таким игрокам. Сообщения о смерти удалять не нужно. Я пойму, если бы это был майночат. Но это же не так. В TabbyChat можете понаставить регулярных выражений и делать с сообщениями что угодно. Программерский путь решения проблемы, можно сказать. Не ныть админам, а решить самому. Обратиться к гуру регулярок, чтобы они за плату выдали заклинание секретное.
-
Попкорн закончился
