Вопрос

Я разрабатываю простые игры как хобби. Для моего нового проекта я хочу, чтобы некоторые части были написаны сценарием. Я знаком с Python, но не против изучения новых языков. Вот вопрос:

Я планирую реализовать путь нахождения, поле зрения, выявление столкновения и т. Д. В C ++, но хочу использовать сценарии для стационар Ai, сценарию событий. Какой тип структуры используется для такого рода задания? Предлагаю, что я могу сделать программу C ++, запустив процесс Python, который в свою очередь звонит методы C ++, но кажется неэффективным. Другая идея состоит в том, чтобы разработать библиотеку, которая должна называться Python, которая также не звучит очень привлекательна. Какой обычный способ сделать это (кроме написания моего собственного языка и парсера?) Я слышал, что Lua популярен для встраивания в программы C.

Это было полезно?

Решение

Из моего личного опыта, оба Луа а также тлл иметь фантастические apis для встраивания. Оба языка очень просты. Если вы пишете командную интерфейс, я бы, наверное, скажу с TCL, но если вы просто используете встроенный интерпретатор, я бы порекомендовал LUA. Учитывая, что вы используете C ++, вы также можете посмотреть в Луачина API, я слышал об этом хорошие вещи.

Для сценариев AI или других вещей в типе штата, этот блог пост Zed Shaw - это хороший читать. Код AI COROUTINE AI может выглядеть намного приятнее для сложных сценариев, а не управлять огромной кучей состояний и их переходами.

Если вы используете Python, вам может быть лучше простирание, а не встраивание.

Другие советы

Запустите процесс Python? Ное ....

Встраиваться.

Из личного опыта я могу настоятельно рекомендовать Google JavaScript Engine V8. Он очень исполнен, написанный в C ++, тривециально легко встроен, не имеет других зависимостей и действительно красивый родной интерфейс.

http://code.google.com/p/v8/

Я согласен, что TCL и LUA являются одним из самых простых встроек в приложение AC / C ++. В основном потому, что это было решение о дизайном с самого начала. Другой язык, который был разработан для встраивания Гиель

Если вы заинтересованы в встраивании языка сценариев в вашем приложении C ++, посмотрите на Усадьба. Отказ SWIG может автоматически создавать код клея для ряда языков сценариев, включая Python, который вы уже знаете. Основным преимуществом является то, что он обрабатывает много разных языков сценариев.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top