Geschrieben um 06:44 am 28.05.2006 | Zitat | Editieren | Löschen | |
Mitglied Bachelor Gumby Beiträge: 42 | Ich habe ein Problem mit dem in der normal.adv definierten Befehl graben. Es gibt dort zwei Definitionen:
Mein Objekt sieht so aus:
So wird aber auf die Eingabe "grab im sand" nur die Meldung "Dort lässt sich nicht gut graben." ausgegeben. Warum wird hier_graben nicht ausgeführt? Wenn ich den Befehl graben aus der normal.adv einkommentiere, funktioniert es. |
Geschrieben um 10:06 am 28.05.2006 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Dadurch, dass du das zweite Objekt bei graben mit evtl markiert hast, trifft deine Eingabe "grabe im Sand" sowohl auf hier_graben als auch auf graben zu. Mit evtl gibst du an, dass ein Objekt angegeben werden kann, aber nicht muss. Du hast zwei Möglichkeiten, das Problem zu umgehen: 1) Entferne das evtl aus der Klammer. Dann hast du zwei unterschiedliche Befehle, zwischen denen du immer unterscheiden kannst. Nachteil: Du musst bei einem Objekt, das auf graben reagieren soll, immer beide Varianten abfangen. 2) Schmeiß die Definition von hier_graben raus. Dann hast du einen Befehl, der sowohl auf "grabe im Sand" als auch auf "grabe mit der Schaufel im Sand" reagiert. Nachteil: Du musst in deinem Code immer (aObj = nichts) abfangen, damit du zwischen den beiden Fällen unterscheiden kannst. Ich würde, glaube ich, Methode zwei bevorzugen. |