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


Фотография

[Java 8] O-Blocks IDE - визуальное программирование роботов


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 47

#1 Оффлайн   Totoro

Totoro
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 14 Ноябрь 2015 - 16:33

*
Популярное сообщение!

Вы считаете, что учить новый язык программирования, ради того, чтобы накопать немного коблы - это overkill?
Вы прочли учебник по Луа и не поняли ни строчки?
Тогда мы идем к вам!
 
OpenBlocks2.png
 
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

 

Добро пожаловать и удачи в программировании! =)


Сообщение отредактировал Totoro: 20 Декабрь 2015 - 16:49


#2 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 14 Ноябрь 2015 - 16:39

Долой Lua, только Java, только OcBlocks.


Сообщение отредактировал NEO: 14 Ноябрь 2015 - 16:39

  • Totoro это нравится

#3 Оффлайн   LeshaInc

LeshaInc
  • Пользователи
  • Сообщений: 1 204
  • Уровень сигнала: 15,61%
  • В игре: 116 час. 32 мин.
  • ГородЛуна

Награды

                       

Отправлено 14 Ноябрь 2015 - 16:44

OcBlocks для детей от 5 лет.


  • Totoro и lokin135 это нравится

#4 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 14 Ноябрь 2015 - 16:45

OcBlocks для детей от 5 лет.

Пользуйтесь на здоровье, нам не жалко.


Сообщение отредактировал NEO: 14 Ноябрь 2015 - 16:46

  • Totoro, YuRaNnNzZZ, ECS и еще 1 это нравится

#5 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 19,57%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 14 Ноябрь 2015 - 16:48

Win7 x64 не пашет, жава последняя.



#6 Оффлайн   Fiender

Fiender
  • Заблокированные
  • Сообщений: 330
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 14 Ноябрь 2015 - 16:50

То же самое что и у Doob. Не пашет.



#7 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 14 Ноябрь 2015 - 16:55

То же самое что и у Doob. Не пашет.

 

Win7 x64 не пашет, жава последняя.

 

Логи кидайте.

Запустите через консоль.


Сообщение отредактировал NEO: 14 Ноябрь 2015 - 16:56


#8 Оффлайн   Totoro

Totoro
  • Автор темы
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 14 Ноябрь 2015 - 16:59

Win7 x64 не пашет, жава последняя.

 

То же самое что и у Doob. Не пашет.

 

Прошу прощения, возможно глюки конфигурации проекта.

Запустите через консоль, пожалуйста, и киньте стектрейс ошибки на pastebin.com



#9 Оффлайн   Fiender

Fiender
  • Заблокированные
  • Сообщений: 330
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Отправлено 14 Ноябрь 2015 - 17:06

@Totoro, pastebin.com/5EAmyxQY


  • Totoro это нравится

#10 Оффлайн   qwertyMAN

qwertyMAN
  • Пользователи
  • Сообщений: 1 427
  • Уровень сигнала: 0,14%
  • В игре: 1 час. 3 мин.
  • ГородCity17

Награды

                             

Отправлено 14 Ноябрь 2015 - 18:00

Я даже не знаю .jar это исполняемый файл или нет. Но у меня он не запускается.

Отпишитесь у кого эта прога заработала вообще.



#11 Оффлайн   Totoro

Totoro
  • Автор темы
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 14 Ноябрь 2015 - 18:54

Итак, проблема была локализована и устранена.

Всем просьба перекачать программу по ссылке в первом посте.

 

 

Я даже не знаю .jar это исполняемый файл или нет. Но у меня он не запускается.

Отпишитесь у кого эта прога заработала вообще.

 

Формат JAR - это исполняемый файл Java. В большинстве операционных систем может быть запущен двойным кликом.

Если по какой-либо причине он не запускается, советую создать файлик run.bat с таким кодом (для Windows):

java -jar <название файлика>.jar
pause

Запуск этого скрипта, позволит увидеть вывод программы в консоль и возможно - код ошибки.

Отмечу также, что программа из данной темы требует версию Java 8.



#12 Оффлайн   Alex

Alex
  • Администраторы
  • Сообщений: 3 735
  • Уровень сигнала: 52,61%
  • В игре: 392 час. 51 мин.

Награды

                 

Отправлено 14 Ноябрь 2015 - 20:08

Дима, планируешь ли добавить работу с инвентарем, слотами, или только базовая визуализация движения, логики и циклов для понимания основ новичками?



#13 Оффлайн   Totoro

Totoro
  • Автор темы
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 14 Ноябрь 2015 - 20:17

Дима, планируешь ли добавить работу с инвентарем, слотами, или только базовая визуализация движения, логики и циклов для понимания основ новичками?

 

Работа с инвентарем и слотами разумеется будет.

Однако не сразу, т.к. наряду с логикой, циклами и прочими интересными штуками, потребует проработки.

До этого момента я был больше сосредоточен на интерфейсе приложения, чтобы заложить "каркас" для будущих обновлений.

 

Примерный "roadmap" есть на Github проекта, в описании.

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

Далее последуют циклы, продвинутые действия робота (инвентарь, генераторы всякие).

Потом возможно сетевые операции, и что-то вроде "функций" - отдельные редактируемые конструкции, которые можно будет использовать как самостоятельные блоки.


  • Alex это нравится

#14 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 17 Ноябрь 2015 - 18:56

@Totoro, pastebin.com/5EAmyxQY

У меня аналогичный результат



#15 Оффлайн   ECS

ECS
  • Гуру
  • Сообщений: 203
  • Уровень сигнала: 0,56%
  • В игре: 4 час. 10 мин.
  • ГородСанкт-Петербург

Награды

   10                  

Отправлено 17 Ноябрь 2015 - 21:00

Графонисто! Какой приятный интерфейс, какое прекрасное юзабилити, какие кнопочки! Какие эмоции при составлении скрипта! Много, много чая автору  :smile9:

 

Спойлер


Сообщение отредактировал Alex: 18 Ноябрь 2015 - 17:38
Нарушение Правил форума

  • Totoro, Fingercomp, Mecopy6ka и 5 другим это нравится

#16 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 18 Ноябрь 2015 - 00:39

Не хватает передвижения мышкой по рабочему пространству.



#17 Оффлайн   Totoro

Totoro
  • Автор темы
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 18 Ноябрь 2015 - 01:13

Обновил немного билд. Багфиксы и блоки "копать" / "строить". Ссылка в первом посте обновлена.

 

У меня аналогичный результат

Может такое быть, что у тебя старый билд? Я тестировал последний на Win 7 - все в порядке.

Попробуй вот этот: OcBlocks 0.11a (1.14 Мб)

Также, убедись что запускаешь на Java 8.

Если же ничего не поможет - скинь свой стектрейс ошибки на pastebin, со всеми подробностями (+ конфигурация на которой запускаешь - система, Java, разрядность).

 

Не хватает передвижения мышкой по рабочему пространству.

 

Зажми колесико и двигай мышь )


Сообщение отредактировал Totoro: 18 Ноябрь 2015 - 01:15

  • Alex это нравится

#18 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 18 Ноябрь 2015 - 11:02

Не знаю как сохранять стектрейс в файл. Вот что удалось получить

Прикрепленный файл  error.png   352,32К   0 Количество загрузок:

Параметры системы

Прикрепленный файл  os_ver.png   152,91К   0 Количество загрузок:

и версия джавы

Прикрепленный файл  jav_ver.png   5,19К   0 Количество загрузок:


  • Totoro это нравится

#19 Оффлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 18 Ноябрь 2015 - 11:59

Не знаю как сохранять стектрейс в файл.

command > filename перенаправит весь выход команды command в файл filename.



#20 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 18 Ноябрь 2015 - 12:04

command > filename перенаправит весь выход команды command в файл filename.

Пробовал

 java -jar OcBlocks-0.11a.jar > log

Получаю log нулевой длины.



#21 Оффлайн   Fingercomp

Fingercomp
  • Гуру
  • Сообщений: 1 999
  • Уровень сигнала: 171,24%
  • В игре: 1278 час. 43 мин.

Награды

                                               

Отправлено 18 Ноябрь 2015 - 12:17

Пробовал

 java -jar OcBlocks-0.11a.jar > log

Получаю log нулевой длины.

Ах.

Джава.

Вместо > тогда нужно писать 2>.



#22 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 18 Ноябрь 2015 - 12:29

Вот

http://pastebin.com/5mU4MbLi

Доступно в течение недели



#23 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 18 Ноябрь 2015 - 12:44

Вот
http://pastebin.com/5mU4MbLi
Доступно в течение недели


Круто, класс отвечающий за отображение ошибок не находится.

Вот
http://pastebin.com/5mU4MbLi
Доступно в течение недели


У тебя проблема в java, в стактрейсе написано что класс javafx.scene.control.Alert classloader не находит, и самое интересное, что это класс из родной библиотеки java, у Тоторо на гитхабе даже пакетов таких нет, не то что класс. Попробуй обновить java.

#24 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 18 Ноябрь 2015 - 13:04

Попробуй обновить java.
 

Обновил до 1.8.0_65. Помогло. Спасибо.

Позже проверю, будет ли после обновления майн работать  :)


Прикольно. Вот бы иметь возможность как-то влиять на трассы без перемещения блоков. Сложная схема может оказаться плохо читаемой.

Жду циклы и логику.



#25 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 18 Ноябрь 2015 - 13:25

Вот бы иметь возможность как-то влиять на трассы без перемещения блоков
 

А поподробнее.


Вообще, Oracle в 8 версии java активно пилят JavaFX хотят сделать заменой swing, так что для работы OcBlocks лучше использовать последнюю версию.



#26 Оффлайн   NEO

NEO
  • Пользователи
  • Сообщений: 1 748
  • Уровень сигнала: 4,88%
  • В игре: 36 час. 25 мин.
  • ГородСолнце

Награды

   3                        

Отправлено 18 Ноябрь 2015 - 13:42

Обновил до 1.8.0_65. Помогло. Спасибо.
 

Я почитал, для запуска нужно минимум версия 8u40, потому как там добавили Alert и тд.


  • Totoro это нравится

#27 Оффлайн   Zer0Galaxy

Zer0Galaxy
  • Гуру
  • Сообщений: 1 228
  • Уровень сигнала: 0%
  • В игре: 0 час. 0 мин.

Награды

   5                              

Отправлено 18 Ноябрь 2015 - 15:14

А поподробнее.

 

Ну, к примеру, создаю я длинную цепочку блоков, которая в одну строку не умещается. Получается как-то так:

Прикрепленный файл  1.png   907,08К   2 Количество загрузок:

А хотелось бы:

Прикрепленный файл  2.png   898,76К   2 Количество загрузок:

Думаю, когда появится ветвление, это станет особенно актуальным.


  • Totoro это нравится

#28 Оффлайн   Totoro

Totoro
  • Автор темы
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 19 Ноябрь 2015 - 00:33

Да, упустил из виду Alert'ы. До версии Java 8u40, они существовали отдельно, в составе большой библиотеки ControlsFX Dialogs. Потом Oracle увидел, что это круто, и прибрал к рукам )

Добавлю уточнение в стартовый пост.

 

 

Прикольно. Вот бы иметь возможность как-то влиять на трассы без перемещения блоков. Сложная схема может оказаться плохо читаемой.

Жду циклы и логику.

Есть вариант добавить режим редактирования контрольных точек к "трассам". Тогда можно будет поправить форму.

Либо прямо тасканием за середину линии изменять.

 

 

Спасибо всем большое за отзывы и багрепорты! Это воодушевляет писать дальше  :)

Циклы и логика на подходе. К сожалению, времени на все не хватает, поэтому обновление может подзажержаться.


Сообщение отредактировал Totoro: 19 Ноябрь 2015 - 00:33


#29 Оффлайн   Totoro

Totoro
  • Автор темы
  • Хранители Кода
  • Сообщений: 1 734
  • Уровень сигнала: 0,3%
  • В игре: 2 час. 13 мин.

Награды

                                      

Отправлено 28 Ноябрь 2015 - 17:05

Я тут полистал свой календарь и обнаружил вопиющую пропажу - исчезли выходные на прошлой неделе.
"Как же так, - подумал я, - ведь я собирался выложить OcBlocks 0.2а в субботу"
Но злодеев найти так и не удалось, поэтому выкладываю программу сегодня.
 
Среда программирования пополнилась новыми плюшками, и новыми операторами.
Пожалуй лучше всего опишет изменения вот этот скриншот:
 
O-Blocks3.png
 
Который транслируется в такой код:
-- [OcBlocks v0.2a generated code] --
local robot = require('robot')
local a = robot.detect()
local b = robot.detectUp()
local c = b == a
if c then
  robot.down()
else
  -- pass --
end
-- [The END] --
Скачать
O-Blocks 0.2a (1.22 Mb)
 
Подробнее
  •   Добавлен инструментарий для работы с группами блоков - рамочка для выделения, хоткеи и меню для вырезания, копирования, вставки и удаления.
  •   Добавлены типы данных. Пока только boolean (оранжевый). Вы можете заметить у некоторых блоков дополнительную синюю ноду. Это Нода Данных, которая позволяет в любой момент стянуть с нее значение, которое хранит в себе блок. К нодам данным может быть подключено любое число линий. Пунктир на линии помечает тип данных, который этой линией передается. (Красный пунктир - неправильное подключение линии).
  •   Линии могут быть белыми и черными. Черные - это линии контролирующие ход программы и последовательность выполнения блоков. По ним выполняется схема, и по ним же она транслируется. Белые линии - пассивные линии данных. По ним блоки могут получать данные от других блоков, когда нужно.
 
Должен заметить, что суффикс "a" в номере версии означает "альфа". То есть, контент настолько сырой, что у меня не хватает нахальства называть его "бета".
Все изменения представляют собой наброски "того как оно будет", и ожидают вашей бурной критики и предложений по улучшению.
 
P.S. Репа проекта по прежнему открыта для предложений, багрепортов и пулл-реквестов. 

Сообщение отредактировал Totoro: 28 Ноябрь 2015 - 17:10

  • Alex, Fingercomp, Mecopy6ka и еще 1 это нравится

#30 Оффлайн   Doob

Doob
  • Пользователи
  • Сообщений: 814
  • Уровень сигнала: 19,57%
  • В игре: 146 час. 10 мин.

Награды

                                   

Отправлено 29 Ноябрь 2015 - 07:24

Годнота, только еще надо бы сделать возможность лепить несколько веревок на один вход/выход, а то чтобы прикрутить какой-нибудь код после if надо либо делать дублирование кода до if, либо составлять бороду из if if if, чтобы сделать необязательный if

 

P.S. формат для сохранения простой и понятный, такое можно сделать в OpenComputers


Сообщение отредактировал Doob: 29 Ноябрь 2015 - 07:26

  • Totoro это нравится




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных