Autor |
Nachricht |
< Problem mit Aaron Reeds "Dynamic rooms" |
|
Verfasst am:
Fr, 20 Jan 2012 - 18:22
|
|
|
Wasserträger

Anmeldungsdatum: 02.12.2011
Beiträge: 40
Wohnort: Heidelberg
|
|
Hallo,
Ich habe ein Problem mit der Extension "Dynamic Rooms" von Aaron Reed:
Inform gibt ganz einfach, wenn ich laut Anleitung richtige Sätze Eingebe, Fehlermeldungen aus: Und zwar führt dieser Ruleblock:
Code: | Carry out positioning rooms:
let numb be a number;
let numb be the number of dynamic rooms;
now last-room is menuroom;
repeat with rom running from 1 to numb:
now current-room is a random dynamic room which is unpositioned;
let dir be a random viable direction;
let new-room be a newly created positioned room dir of last-room;
now last-room is a random positioned dynamic room. |
zu dieser Fehlermeldung:
Zitat: | This is the report produced by Inform 7 (build 6G60) on its most recent run through:
In Volume - Building the dynamic World, Book - Positioning rooms:
Problem. In the sentence 'let new-room be a newly created positioned room dir of last-room' , I was expecting to read a value, but instead found some text that I couldn't understand - 'a newly created positioned room dir of last-room'.
I was trying to match one of these phrases:
1. let (new-room - a new name) be (a newly created positioned room dir of last-room - description of relations of values to values)
2. let (new-room - a new name) be (a newly created positioned room dir of last-room - name of kind)
3. let (new-room - a new name) be (a newly created positioned room dir of last-room - value)
4. let (new-room - a temporary named value) be (a newly created positioned room dir of last-room - value)
This was what I found out:
new-room = something unrecognised
a newly created positioned room dir of last-room = something unrecognised
In Part - I7 additions and replacements, Section - Special room features in the extension German by team GerX:
Problem. An internal error has occurred: tried to sort unslashed GLs. The current sentence is 'Understand "Ort [m]", "Platz [m]", "Raum [m]", "Standort [m]" and "Umgebung [f]" as "[basic-room-synonyms]"' ; the error was detected at line 747 of "Chapter 25/Grammar Lines.w". This should never happen, and I am now halting in abject failure.
What has happened here is that one of the checks Inform carries out internally, to see if it is working properly, has failed. There must be a bug in this copy of Inform. It may be worth checking whether you have the current, up-to-date version. If so, please report this problem via www.inform7.com/bugs.
As for fixing your source text to avoid this bug, the last thing you changed is probably the cause, if there is a simple cause. Your source text might in fact be wrong, and the problem might be occurring because Inform has failed to find a good way to say so. But even if your source text looks correct, there are probably rephrasings which would achieve the same effect. |
Die Phrase ist aber wörtlich aus der Documentation der Extension übernommen, nur die Variablen und Namen habe ich angepasst.
Hat jemand eine Idee, woran das liegen könnte?
Viele Grüße
Moritz. |
|
|
|
 |
|
Verfasst am:
Sa, 21 Jan 2012 - 13:35
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Hallo Moritz,
leider ist es so, dass die meisten Erweiterungen, die für das Original-Inform geschrieben wurden, mit der deutschen Übersetzung nicht kompatibel sind. Da gibt es noch viel zu tun, aber momentan ruhen viele Arbeiten, da die nächste Version von Inform 7 für so grundlegend anders sein wird, dass es eigentlich Inform 8 heißen müsste.
Die bereits übersetzen und getesteten Erweiterungen findest du im folgenden Wiki:
http://german-inform.wikispaces.com/Inform+7+Erweiterungen
Ob alle der dort gelisteten Erweiterungen noch voll kompatibel mit der neuesten GerX-Version sind, kann ich aber nicht mit Sicherheit sagen.
Grüße,
Christian _________________ Worichtung willst du ingehen? |
|
|
|
 |
|
Verfasst am:
Sa, 21 Jan 2012 - 16:55
|
|
|
Wasserträger

Anmeldungsdatum: 02.12.2011
Beiträge: 40
Wohnort: Heidelberg
|
|
German hebelt hier also Mechanismen der Standard Rules aus, die für das Funktionieren der Dynamic Rooms wichtig sind? Hm, schlecht. Äh... Grundlegend anders in welcher Hinsicht? |
|
|
|
 |
|
Verfasst am:
Sa, 21 Jan 2012 - 21:59
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Krähe hat folgendes geschrieben: | German hebelt hier also Mechanismen der Standard Rules aus, die für das Funktionieren der Dynamic Rooms wichtig sind? Hm, schlecht. Äh... Grundlegend anders in welcher Hinsicht? |
Oder Dynamic Rooms hebelt Mechanismen von German aus. Ich kenne Dynamic Rooms noch nicht. Und bei der Erstellung der deutschen Extension haben wir auch nie Rücksicht auf bestehende Erweiterungen genommen.
GerX greift in grundlegende Bereiche des Systems ein, und ich vermute, dass Aaron Reed auch nicht gerade nur Kosmetik in seiner Erweiterung betreibt. Jetzt müsste man sich also hinsetzen und genau untersuchen, wo sich die Erweiterungen in die Quere kommen und eine Schnittstelle zwischen ihnen schaffen. Ich werde mir das morgen mal ansehen, vielleicht ist das ja alles gar nicht so wild.
Grüße,
Christian
EDIT: Hast Du Dynamic Rooms VOR oder NACH German eingebunden?
EDIT2: Ein erster Test konnte Deinen Fehler nicht reproduzieren. Die Erweiterungen scheinen sich auf den ersten Blick ganz gut zu vertragen. _________________ Worichtung willst du ingehen? |
|
|
|
 |
|
Verfasst am:
So, 22 Jan 2012 - 0:53
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Oha!
Offenbar war ich viel zu pessimistisch, was das Einbinden von Original-Erweiterungen angeht: GerX und Dynamic Rooms mögen sich, zumindest war das erste Date gar nicht so übel. Ich habe mal Aarons "Frobozz Magic Excavator"-Beispiel (aus der Doku zu Dynamic Rooms) ins Deutsche übertragen und es scheint alles korrekt zu funktionieren, sogar mit Martins neuen, alternativen Genus-Definitionen. Allerdings weiß ich noch nicht, wie man bei dynamisch erzeugten Räumen das passende Vokabular anlegen sollte.
(Getestet mit der aktuellen German Version 3/111222.)
http://dl.dropbox.com/u/2691966/excavator.txt
So weit, so gut.
Das erklärt aber noch nicht Deinen Fehler, Moritz. Möglicherweise ist in Deinem Code was nicht OK? Mag der Compiler den Bezeichner "new-room" etwa nicht? Schwer zu sagen ohne den ganzen Code zu sehen.
Beste Grüße,
Christian _________________ Worichtung willst du ingehen? |
|
|
|
 |
|
Verfasst am:
So, 22 Jan 2012 - 11:27
|
|
|
Wasserträger

Anmeldungsdatum: 02.12.2011
Beiträge: 40
Wohnort: Heidelberg
|
|
Zitat: | EDIT: Hast Du Dynamic Rooms VOR oder NACH German eingebunden?
|
Die eingebundenen Extensions sind: (In der Reihenfolge): German by team GerX; Dynamic Rooms by Aaron Reed; Dynamic Objects by Jesse McGrew.
Auch wenn ich German nach hinten stelle, verändert sich nichts an der Situation, auch nicht, wenn ich Dynamic Objects ausschließe. German ist aber wohl unschuldig, es funktioniert nämlich auch ohne German nicht.
Die Frage ist wohl eher, wo der Unterschied liegt zwischen
let new-room be a newly created room dir of last-room; und let rm be a newly created positioned room noun of location with name "Höhle[f]";. Das "positioned iste se nicht, denn deine Definition funktioniert auch ohne dieses Wort.
Was das reproduzieren des Fehlers angeht - das könnte damit zusammenhängen, dass ich hier gnome-inform7 habe, also mit dem Linux-Frontend. Aber das müsste doch den Quelltext nicht beeinflussen, oder?
Viele Grüße
Moritz. |
|
|
|
 |
|
Verfasst am:
Mo, 23 Jan 2012 - 14:49
|
|
|
Experte

Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Hallo Moritz,
ich habe mir Deine Carry-out-Rule mal genauer angesehen. Damit scheint es mehrere Probleme auf einmal zu geben, jedenfalls bekomme ich jetzt den gleichen Fehler wie Du.
Die Phrasen für die Zuweisung von Variablen stimmen wohl nicht so ganz mit den Phrasen überein, die Aaron definiert hat. Hast Du die wirklich aus irgendeinem Beispiel übernommen? Wenn ja, aus welchem?
"Positioned" und "unpositioned" sind jedenfalls keine Adjektive (Attribute), sondern "positioned" kommt lediglich als Teil einer feststehenden To-decide-Phrase in Aarons Extension vor:
To decide which object is a newly created positioned room (dir - a direction) of/from (place - a room) with name (new name - some text): ...
"Unpositioned" gibt es dort überhaupt nicht.
Eine veränderte Version Deiner Rule compiliert. Ob sie noch macht, was sie machen soll, weiß ich nicht. Aber es fehlte bei einer Phrase auch noch der Zusatz "with <NAME>". Wertzuweisungen mit "now ... is ..." funktionieren wohl auch nur mit Eigenschaften, also Now the apple is mouldy. Aber nicht *Now the apple is the pear.
Code: | Positioning rooms is an action applying to one object.
Last-room, menuroom, new-room and current-room are rooms.
Carry out positioning rooms:
let numb be a number;
let numb be the number of dynamic rooms;
let last-room be menuroom;
repeat with rom running from 1 to numb:
let current-room be a random dynamic room;
let dir be a random viable direction;
let new-room be a newly created positioned room dir of last-room with name "***BAUSTELLE***";
now last-room is a random dynamic room. |
Grüße,
Christian _________________ Worichtung willst du ingehen? |
|
|
|
 |
|
Verfasst am:
Mo, 23 Jan 2012 - 15:55
|
|
|
Wasserträger

Anmeldungsdatum: 02.12.2011
Beiträge: 40
Wohnort: Heidelberg
|
|
"Positioned" und "Unpositioned" habe ich selber definiert, um herauszufinden, ob ein raum schon da ist, wo er hingehört (Also in die Welt eingebunden). Das hat sich dann wohl mit der Definition der Extension überschnitten; Das habe ich jetzt gefixt, aber Inform tat immer noch nicht. Der Name hat gefehlt.... Jetzt funktioniert er. Vielen Dank, Christian!
Viele Grüße
Moritz. |
|
|
|
 |
|
|
Alle Zeiten sind GMT + 1 Stunde (MEZ) |
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|