Pregunta

estoy desarrollando juegos simples como un hobby. Para mi nuevo proyecto, quiero algunas partes sean scripts. Estoy familiarizado con Python, pero no me importa el aprendizaje de nuevos idiomas. Aquí está la pregunta:

Tengo la intención de poner en práctica ruta de investigación, campo de visión, detección de colisiones, etc., en C ++, pero quiero utilizar guiones para las máquinas de estado de AI, eventos de secuencias de comandos. ¿Qué tipo de estructura se utiliza para este tipo de trabajo? Me imagino que puedo hacer un programa en C ++ ejecuta un proceso de pitón que a su vez llama a C ++ métodos, pero parece ineficiente. Otra idea es desarrollar una biblioteca de ser llamado de pitón, que no suena muy atractivo, ya sea. ¿Cuál es la forma habitual de hacer esto (excepto para escribir mi propio idioma y analizador?) Oí lua es popular para integrarse en los programas C.

¿Fue útil?

Solución

Desde mi experiencia personal, tanto lua y tcl Tienes APIs fantásticas C para incrustar. Ambas lenguas son muy simples. Si estás escribiendo una interfaz de comandos, probablemente me dicen que vaya con TCL, pero si usted está usando un intérprete incorporado, me gustaría recomendar lua. Teniendo en cuenta que usted está usando C ++, también puede ser que desee ver en la href="http://www.rasterbar.com/products/luabind.html" rel="nofollow"> luabind API

Para scripting AI, u otras cosas de tipo máquina de estado, esta entrada de blog por Zed Shaw es una buena lectura. AI código basado en la co-rutina puede parecer un montón más agradable para los scripts complejos, en lugar de administrar una enorme pila de estados y sus transiciones.

Si estás usando Python, que podría estar mejor se extiende en lugar de incorporar .

Otros consejos

Ejecutar un proceso de Python? Nooo ....

Insertar .

A partir de la experiencia personal que recomiendo encarecidamente motor V8 Javascript de Google. Es de buen calidad, escrito en C ++, es trivialmente fácil de integrar, no tiene otras dependencias y una muy hermosa interfaz nativa.

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

Me acuerdo que Tcl y Lua son uno de los más fáciles de incrustar en un / C ++ de c. Principalmente debido a que fue una decisión de diseño desde el principio. Otro idioma que fue diseñado para la incrustación es Guile.

Si está interesado en la incorporación de un lenguaje de programación C ++ en su aplicación echar un vistazo a trago . Trago puede crear automáticamente el código de unión para un número de lenguajes de script Python, incluyendo los que usted ya conoce. La principal ventaja es que se maneja muchos idiomas diferentes secuencias de comandos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top