Estoy haciendo un juego de aventura de apuntar y hacer clic, y actualmente estoy tratando de encontrar la mejor manera de implementar un sistema de comando.
Asuma una interfaz de estilo Monkey Island o Maniac Mansion, con una paleta de verbos y objetos en la escena y en el inventario. Al hacer clic en estos, construyes una oración para ejecutar.
por ejemplo, puede hacer clic look aty luego en un árbol para "mirar el árbol" o hacer clic en una manzana, y luego give, y luego en una niña, para obtener "dar manzana a niña".
Hay tres formas posibles de una oración:
verb, por ejemplo "guardar"verb noun, por ejemplo "recoger manzana", "mirar pulpo"verb noun noun, por ejemplo, "dar encurtido al perro rabioso", "usar la palanca con el tarro de encurtidos"
En diferentes situaciones, querré que la acción que se lleve a cabo esté definida por diferentes objetos.
Por ejemplo, para el giveverbo, puede haber una acción predeterminada definida que haga que el personaje diga algo como "Prefiero aferrarme a eso", o el perro rabioso podría definir una acción donde se come cualquier cosa que intentes darle. .
Si la interfaz va a funcionar como Maniac Mansion, entonces construye la oración y luego le dice que se ejecute (en Maniac Mansion, ya sea haciendo clic en la oración o haciendo clic nuevamente en la última cosa en la que hizo clic).
Si va a funcionar como Monkey Island, la oración se ejecuta tan pronto como esté completa, lo que plantea un problema para verbos como los useque a veces pueden tomar un sustantivo y otras dos veces.
Entonces, ¿cómo implementaría un sistema que maneje esto?
lookque es un verbo de un solo sustantivo, etc