Короче, я опять упоролся и душа захотела декларативщины. Надоело писать всякую оопоту, охота описывать объекты, правила из взаимодействия и чтобы всё это работало. Покрехтев немного над клавиатурой я выдавил из себя dgejs (declarative game engine js). Задача была сделующая: есть в комнате человек, мешок и яблоко. Человек может взять яблоко, засунуть его в мешок, поднять мешок, бросить мешок, вытащить из него яблоко и бросить на пол. Для этого были сделаны, собственно сами объекты (человек, яблоко, мешок), действия (взять, бросить, засунуть, достать), условия для действий (руки свободны/заняты, в объекте есть хранилище/нету), сборщики (в движке) (всё что: в руках, в том же месте, хранится в объекте), код для действий (например, прописать объект в руках, поменять его место, добавить объект в массив для контейнера, переписать его место и т.д.) и сам движок, который всё это связывает, заставляет работать и говорит что, кто может делать в данном состоянии системы.
Итак, вопросы к знатокам.
1.Не херню ли я делаю? Есть ли какие-то вменяемые готовые реализации для подобной задачи?
2.Если нет, то есть ли компилируемые языки, где можно проворачивать то, что я проворачиваю на js. То есть вызов метода по строке с его названием, хранение функций в левых структурах и прочее.
3.На каком скриптовом языке всё это можно реализовать красивее и лаконичнее, чем на js?
Сорцы тут: https://github.com/Crutchmaster/dgejs
Работает локально в браузере.
inb4: говнокод с for in, for of, es6... - должно работать на duktape, for in тормозной и должен стать for (i=0;i<c;i++) где это можно.
Похожие темы
- Новости У WebKit новый js-движок (2008)
- Форум Игровой Движок Blender - осваиваем контроллеры с логическими выражениями (2010)
- Форум Ищу: физический движок на js, который работает с DOM (2012)
- Форум ChakraCore (js движок еджа) портировали на Linux и macOS. (2016)
- Форум [svg] Какой JS движок (фреймворк) использовать для анимации? (2009)
- Форум Движок (2006)
- Форум движок-??? (2004)
- Форум Движок /. (2004)
- Форум Логические процессоры (2016)
- Форум Логическая загвоздка (2013)