Geschrieben um 13:05 am 24.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 181 | Ich habe eine Frage zu ScopeWithin: Bei:
|
Geschrieben um 13:21 am 24.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Wieso machst du es nicht so, wie es in Aufgabe 99 beschrieben wird? Du bist ja nicht unbedingt an ScopeWithin gebunden, du kannst ja auch PlaceInScope verwenden:
Probier das mal. Wenn das klappt, könntest du die Objekte, die man erfgaren kann, einschränken, indem du mögliche Objekte mit einem neu zu definierenden Attribut kennzeichnest:
Das ist vielleicht zuviel des Guten, aber ein großer Scope bedeutet auch viel Arbeit für den Parser, so dass diese Option vielleicht nützlich ist, wenn das Spiel durch den alles umfassenden Scope arg langsam wird. Vielleicht wird die Analyse aber auch bereits durch den globalen objectloop langsam, dann könntest du vielleicht ein Feld mit gültigen Topics schreiben, die dann dem Scope hinzugefügt werden:
Auf diese Weise behalten die Objekte ihren Platz im Baum, können aber trotzdem einigermaßen zügig in den Scope gebracht werden. Kris:
Das ist klar. Du versuchst hier, die Kinder von nichts zu finden und das ist laut z-Maschinen-Spezifikation etwas ganz, ganz Böses... |
Geschrieben um 16:05 am 24.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Dr Gumby Beiträge: 181 | Martin:
Weil ich dummerweise die Aufgaben manchmal überlese obwohl ich dort immer wieder Antworten auf meine Fragen bekommen habe ;-) Jedenfalls habe ich das eben mal ausprobiert und es funktioniert. Martin:
Also langsam ist es nicht, ich bin bei ca. 250 Objekten, aber auch noch nicht fertig. Kann aber auch nicht testen, wie lange es auf einem langsameren System dauert, da PentiumII das langsamste ist, was ich zu Hause habe und ich nicht glaube, hier schon einen Unterschied zu bemerken. Ich werde es jetzt jedenfalls erstmal so belassen. Vielen Dank! Kris |
Geschrieben um 17:12 am 24.01.2005 | Zitat | Editieren | Löschen | |
Mitglied Prof Gumby Beiträge: 634 | Kris:
Die Aufgaben gehören im DM4 auf jeden Fall mit zur Lektüre. Manche Dinge, wenn auch nur selten benutzte, werden nur in Aufgaben angesprochen, wie zum Beispiel in den Aufgaben 65 (lookmode) und 91 (NounDomain). Außerdem sind die Aufgaben sehr gute Beispiele für elegantes Coden in Inform. PlaceInScope(obj) wird aber auf Seite 234 ohne Zusammenhang zu Aufgaben beschrieben :-> Kris:
Fein. (Hatte es nämlich nicht getestet.) |