Sto realizzando un gioco di avventura punta e clicca e attualmente sto cercando di capire il modo migliore per implementare un sistema di comando.
Supponi un'interfaccia in stile Monkey Island o Maniac Mansion, con una tavolozza di verbi e oggetti nella scena e nell'inventario. Cliccando su questi, si crea una frase da eseguire.
ad esempio, è possibile fare clic su look at
e quindi su un albero per ottenere "guardare l'albero" o fare clic su una mela, give
quindi su una ragazza per ottenere "dare una mela a una ragazza".
Esistono tre forme possibili di frase:
verb
, ad esempio "salva"verb noun
, ad esempio "raccogli la mela", "guarda il polpo"verb noun noun
, ad esempio "dai sottaceto al cane rabbioso", "usa il piede di porco con il barattolo di sottaceto"
In diverse situazioni, voglio che l'azione sia eseguita da diversi oggetti.
Ad esempio, per il give
verbo, potrebbe esserci un'azione predefinita definita che induce il personaggio a dire qualcosa del tipo "Preferirei aggrapparmi a quello", oppure il cane rabbioso potrebbe definire un'azione in cui mangia qualsiasi cosa tu tenti di dargli .
Se l'interfaccia deve funzionare come Maniac Mansion, allora costruisci la frase e poi digli di eseguirla (in Maniac Mansion, facendo clic sulla frase o facendo di nuovo clic sull'ultima cosa su cui hai fatto clic).
Se funziona come Monkey Island, la frase viene eseguita non appena completa, il che pone un problema per i verbi come use
che a volte potrebbe prendere un nome e altre due volte.
Quindi come implementeresti un sistema che gestisce questo?
look
è un verbo a nome singolo, ecc.