Totoro
Гуру-
Публикации
1 950 -
Зарегистрирован
-
Посещение
-
Победитель дней
289
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Totoro
-
Обновил немного билд. Багфиксы и блоки "копать" / "строить". Ссылка в первом посте обновлена. Может такое быть, что у тебя старый билд? Я тестировал последний на Win 7 - все в порядке. Попробуй вот этот: OcBlocks 0.11a (1.14 Мб) Также, убедись что запускаешь на Java 8. Если же ничего не поможет - скинь свой стектрейс ошибки на pastebin, со всеми подробностями (+ конфигурация на которой запускаешь - система, Java, разрядность). Зажми колесико и двигай мышь )
-
Оно красиво звучит.
- 33 ответа
-
- 3
-
-
- стример
- аудио-файл
-
(и ещё 1 )
Теги:
-
Работа с инвентарем и слотами разумеется будет. Однако не сразу, т.к. наряду с логикой, циклами и прочими интересными штуками, потребует проработки. До этого момента я был больше сосредоточен на интерфейсе приложения, чтобы заложить "каркас" для будущих обновлений. Примерный "roadmap" есть на Github проекта, в описании. К следующей версии я прокачаю инструментарий самой IDE, плюс добавлю бинарную логику (условия), и, возможно, элементарное взаимодействие с консолью (ввод / вывод). Далее последуют циклы, продвинутые действия робота (инвентарь, генераторы всякие). Потом возможно сетевые операции, и что-то вроде "функций" - отдельные редактируемые конструкции, которые можно будет использовать как самостоятельные блоки.
-
Итак, проблема была локализована и устранена. Всем просьба перекачать программу по ссылке в первом посте. Формат JAR - это исполняемый файл Java. В большинстве операционных систем может быть запущен двойным кликом. Если по какой-либо причине он не запускается, советую создать файлик run.bat с таким кодом (для Windows): java -jar <название файлика>.jar pause Запуск этого скрипта, позволит увидеть вывод программы в консоль и возможно - код ошибки. Отмечу также, что программа из данной темы требует версию Java 8.
-
Вы считаете, что учить новый язык программирования, ради того, чтобы накопать немного коблы - это overkill? Вы прочли учебник по Луа и не поняли ни строчки? Тогда мы идем к вам! OcBlocks IDE Используя наглядный и понятный интерфейс, вы можете с легкостью создать программу для робота OpenComputers, не имея необходимости штудировать пыльные тома мануалов (только встроенную справку =)). Ставьте блоки, соединяйте линиями, сохраняйте в понятный (и в случае крайне нужды - человекочитабельный) JSON формат. Готовый проект экспортируется в листинг на Луа, который затем может быть помещен в робота, и выполнен. Скачать Альфа версия - ранний доступ OсBlocks - 0.3a (1.1 Mb) Системные требования Программа разрабатывается на JavaFX 8, поэтому для запуска вам потребуется Java 8u40 или новее. Среда кроссплатформенна, и должна запускаться на любой операционной системе с установленной Java 8. Тестировалось на Debian 9 и Win7. Справка Доступные на данный момент блоки разположены на четырех панелях инструментов внизу. Панели открываются нажатием на кнопку в панели, либо на цифровые клавиши 1-4. Левая кнопка мыши - ставить блоки. Правая - отменить выбранный инструмент. Скролл колесиком - зум. Нажатие колесика - перемещение по воркспейсу. Стрелки или WASD - перемещение по воркспейсу Delete - удалить выделенные блоки, либо включить инструмент "корзина" Shift - клик по ноде с зажатым Shift "берет" линию ноды, при этом не бросая уже взятые (добавляет к взятым) Ctrl + A - выделить все блоки Ctrl + X / C / V - вырезать, копировать и вставить соответственно Escape - положить выбранный инструмент (эквивалентно ПКМ) Разработка На данный момент, программа находится в активной разработке. Вы можете принять участие, отправить пулл реквест, или открыть issue с баг-реквестом или предложением функционала. Репозиторий программы: https://github.com/MoonlightOwl/O-Blocks Добро пожаловать и удачи в программировании! =)
- 47 ответов
-
- 16
-
-
А верстаком Lua BIOS'ы не копируются? Кладешь Lua BIOS в первый слот (например), а чип куда надо скопировать прошивку - во второй слот. И вуаля.
- 4 ответа
-
- 3
-
-
1) Условия и циклы в Луа (да и любом другом языке программирования), принимают в качестве параметра выражения, результат которых - логическое значение (true, либо false). Функция robot.detect() согласно документации возвращает true при обнаружении препятсвия, и false в обратном случае. То есть твое выражение while r.detect () == true do будет в процессе выполнения программы сведено к одному из двух вариантов: while true == true do -- результат: true или while false == true do -- результат: false То есть, все выражение r.detect () == true можно смело упростить до r.detect (). Аналогично и в других похожих случаях. Если функция уже возвращает логическое значение, сравнивать его с true или false часто бывает излишне. 2) Нет, особого ускорения не будет. Просто это выглядит короче, красивее, и даже иногда понятнее (у меня глаз всегда цепляется за такие конкструкции, и тратит пару секунд, чтобы понять, что дополнительное действие на самом деле ничего дополнительно не делает =))
-
Давай немного проанализируем, как происходит выполнение кода. Запускается самый внешний цикл с условием c ~= 10. Кстати, это довольно опасная конструкция. Если переменная c, во внутреннем цикле успеет принять значение больше 10, цикл станет вечным, и никогда не остановится. Второй цикл имеет условие h == 50. Это условие уже равно false, так как переменная h равна 0. Цикл не выполнится. Таким образом первый цикл становится вечным, но программа при этом ничего не делает, раз за разом сравнивая перменную c с числом 50. А если бы второй цикл все же выполнился, то программа пропустила бы третий цикл с условием r == true, потому что всего парой строк до него, переменная r получила значение false.
-
Полагаю, тебе стоит воспользоваться методом monitor.setTextScale. http://computercraft.info/wiki/Resolution http://computercraft.info/wiki/Monitor.setTextScale
-
Тут надо подумать, по каким признакам делать теги. По платформе: OpenComputers, ComputerCraft (можно добавить теги аддонов) По "железу": компьютер, робот, дрон, микроконтроллер, нанобот По типу приложения: библиотека, клиент / сервер, графическое приложение, консольная утилита, прошивка чипа, операционная система, графическая оболочка По области применения: графика, сеть, добыча ресурсов, строительство, программирование, декор, навигация, игра, ерунда, что-то еще.
-
Идея с пересекающимися тегами-фильтрами неплоха. На мой взгляд. Сейчас разделы слегка неоднозначны. "Чат на очках OpenGlasses" может лежать как в "Сетевых программах", так и в "Интеграции с модами".
-
Эта конструкция использует "главный компонент", который выбирает OpenOS при старте, из списка однотипных компонентов доступных компьютеру. Для EEPROM такое не подойдет, потому что там нет OpenOS, да и файловой системы как таковой. Конструкция modem = component.proxy(component.list('modem')()) по сути как раз и производит выбор компонента из списка вместо отсутствующей ОСи.
- 21 комментарий
-
- 2
-
-
- eeprom
- контроллер
-
(и ещё 1 )
Теги:
-
Как вариант - сделать там не логотип, а фрагмент скриншота. Выбранный рандомно - программой, либо пользователем - при заливе. P.S. С вебом я "на Вы", поэтому не представляю сложность реализации.
-
@@cyber01, будет возможность добавить скриншот на страницу описания, кроме картинки в табличке? Думаю это позволит более полно представить программу, да и выглядеть должно неплохо. Как вариант, чтобы не забивать диск сервера - можно сделать добавление скриншота по внешней ссылке.
-
Ответ на HTTP запрос не совпадает с образцом.
Totoro ответил в вопрос LeshaInc в Разные (отсортировать)
Эй! Я без понятия что ты пишешь. Даже языка не знаю. Если посылать запрос через терминал: curl -i https://LeshaInc:1234@api.github.com/ То все работает ОК и я получаю корректный "401 Unauthorized". Воспроизвести твою проблему получилось в браузере. Он там по кукам или по ETag (хрен его знает) пробивает тот факт, что ты пытаешься получить данные, которые не изменились, и отвечает соответственно. Таким образом на основе имеющихся у меня данных, даю тебе совет: юзай терминал (шелл-скрипт) и все будет хорошо! -
Ответ на HTTP запрос не совпадает с образцом.
Totoro ответил в вопрос LeshaInc в Разные (отсортировать)
Полагаю, это означает, что он закешировал ответ, и шлет тебе "304 Not Modified". -
Ты если сам докопался до решения, не пиши "Нашел", а распиши как решил. Тогда твой пост будет нести полезную инфу. Возможно, кто-то тоже столкнется с таким же вопросом, в будущем. Представь вся тема будет состоять из постов вида "А как ....? А все, нашел.".
-
Тут стоит ознакомиться с литературой по Луа. Вкратце, операторы языка могут образовывать конструкции, наподобии математических выраженией, с любым уровнем вложенности. "Вычисляются" эти конструкции аналогично, начиная со внутренних скобок. В данной строке, сначала произойдет вызов функции component.list('modem'). Согласно документации ОС, функция component.list() возвращает функцию-итератор по компонентам с подходящими именами. Имя у нас "modem". (Итератор - это такая функция, которая при каждом вызове возвращает следующий элемент коллекции). Далее срабатывают пустые скобки (). На самом деле они стоят там не отдельно. Поскольку конструкция component.list('modem') вернула нам функцию, дописав справа пару скобок, я тем самым вызвал эту функцию. Это можно записать так: <полученная функция итератор>(). Вызванная функция вернула первый элемент коллекции модемов в виде адреса, как и полагается итератору. Таким образом у нас теперь происходит вызов функции component.proxy(<полученный адрес модема>). Как и сказано в документации, результатом становится прокси модема. Вуаля!
- 21 комментарий
-
- 3
-
-
- eeprom
- контроллер
-
(и ещё 1 )
Теги:
-
Вариант - оставить нулевой байт для прозрачности. В твоей текущей реализации пиксель кодируется в среднем 8 байтами. То есть это будет выгоднее предложенного мной варианта в том случае, когда площадь непрозрачного изображения составляет <= 1/8 от общей площади. Т.е. это будет достаточно небольшая иконка, окруженная большим пустым пространством. P.S. Идеально будет, конечно, замутить что-то вроде сжатия, которое предлагал Zer0Galaxy.
-
Вопрос: а зачем писать X Y для каждого пикселя? Не проще ли написать вначале общие параметры W / H (Ширина / Высота), а затем записать последовательность цветов в виде построчной развертки? Кроме того, если количество цветов ограничено 255, можно писать файл в бинарном формате - байт на пиксель, экономя пространство и время работы с форматом. Тогда размер файла будет W*H байт + несколько байт на сами значения W и H.
-
Если ты про вьювер - он по второй ссылке лежит. А если ты про библиотеку для работы с голограммами, вот, юзай на здоровье (А если нужно работать с моим форматом файлов, разрешаю позаимствовать код вьювера, при условии сохранения копирайтов =))
-
Для единообразия Во всем разделе форума идет сначала название и потом в скобках - мод.
-
Согласен. Предлагаю вообще изменить заголовок на "Hologram Editor [OpenComputers]". Так как версия и авторство прописаны в самой программе.
-
Ура товарищи! Спустя всего лишь каких-то 10 месяцев, вышла новая версия редактора Hologram Editor v0.70 Beta! Hologram Editor v0.70 Beta Hologram Viewer 0.70 Beta В наличии новые плюшки: Мини-интерфейс для маленьких разрешений! Теперь вы можете заценить редактор на компьютере с GPU 2 или APU 3! Однако монитор все равно потребуется алмазный. Ибо только он поддерживает высоко-точное кликанье мышкой. Суперсжатие данных от Zer0Galaxy! Новый формат *.3dx весит в 15 раз меньше чем *.3d! Например, новогодняя елочка из прошлых постов (вес 18.4 Кб) после ужатия стала весить всего 1.4 Кб. Редактор и вьювер поддерживают импорт старого формата. Апгрейд кнопочек и текстбоксов. Они стали более удобными, и текст теперь не лезет куда не надо. Таблица для локализации. Все зависяцие от локали фразы вынесены в отдельную таблицу, с тем чтобы их было удобнее менять. Также можно в случае надобности присобачить загрузчик конкретной локализации из файла. Фикс: производительность, обработка разнообразных ошибок, глюки отрисовки и прочая, прочая. Версия нуждается в хорошем тестировании, так как переписано было много кода, пофикшено много багов и создано еще больше новых.
