Ich mache ein Point-and-Click-Abenteuerspiel und versuche derzeit herauszufinden, wie ein Befehlssystem am besten implementiert werden kann.
Angenommen, eine Benutzeroberfläche im Monkey Island- oder Maniac Mansion-Stil mit einer Palette von Verben und Objekten in der Szene und im Inventar. Wenn Sie darauf klicken, bilden Sie einen Satz, der ausgeführt werden soll.
Sie können beispielsweise auf look ateinen Baum klicken , um "Baum betrachten" zu erhalten, oder auf einen Apfel klicken, und dann giveund dann auf ein Mädchen, um "Apfel an Mädchen geben" zu erhalten.
Es gibt drei mögliche Formen eines Satzes:
verb, zum Beispiel "speichern"verb noun, zum Beispiel "Apfel aufheben", "Tintenfisch anschauen"verb noun noun, zum Beispiel "Gurke dem tollwütigen Hund geben", "Brechstange mit Einmachglas verwenden"
In verschiedenen Situationen möchte ich, dass die auszuführende Aktion von verschiedenen Objekten definiert wird.
Zum Beispiel könnte für das giveVerb eine Standardaktion definiert sein, die den Charakter dazu bringt, etwas wie "Ich würde es vorziehen, daran festzuhalten" zu sagen, oder der tollwütige Hund könnte eine Aktion definieren, bei der er alles frisst, was Sie versuchen, ihm zu geben .
Wenn die Benutzeroberfläche wie Maniac Mansion funktionieren soll, erstellen Sie den Satz und weisen ihn an, ihn auszuführen (in Maniac Mansion entweder durch Klicken auf den Satz oder erneut durch Klicken auf das zuletzt angeklickte Element).
Wenn es wie Monkey Island funktionieren soll, wird der Satz ausgeführt, sobald er vollständig ist. Dies stellt ein Problem für Verben dar, für usedie manchmal ein Substantiv und manchmal zwei verwendet werden.
Wie würden Sie ein System implementieren, das dies handhabt?
lookist ein Verb mit einem Substantiv usw.