Estou fazendo um ponto e clicando no jogo de aventura, e atualmente estou tentando descobrir a melhor maneira de implementar um sistema de comando.
Suponha uma interface no estilo Monkey Island ou Maniac Mansion, com uma paleta de verbos e objetos na cena e no inventário. Clicando sobre isso, você cria uma sentença para executar.
por exemplo, você pode clicar look at
e, em seguida, em uma árvore para "olhar para a árvore" ou clicar em uma maçã e give
, em seguida , em uma garota, para "dar de maçã para garota".
Existem três formas possíveis de uma frase:
verb
, por exemplo "salvar"verb noun
, por exemplo, "pegue a maçã", "olhe o polvo"verb noun noun
, por exemplo, "dê picles a cães raivosos", "use o pé de cabra com um jarro de picles"
Em diferentes situações, desejarei que a ação seja definida por diferentes objetos.
Por exemplo, para o give
verbo, pode haver uma ação padrão definida que faça o personagem dizer algo como "eu prefiro me apegar a isso", ou o cão raivoso pode definir uma ação em que ele come tudo o que você tenta dar .
Se a interface funcionar como o Maniac Mansion, você constrói a sentença e, em seguida, pede para executá-la (no Maniac Mansion, clicando na frase ou clicando novamente na última coisa em que você clicou).
Se funcionar como a Ilha dos Macacos, a sentença será executada assim que estiver concluída, o que representa um problema para verbos como os use
quais às vezes levam um substantivo e outras vezes dois.
Então, como você implementaria um sistema que lida com isso?
look
é um verbo single-substantivo, etc.