Forum moved to if-forum.org
Autor Nachricht
<  Bierkiste mit Bierflaschen als einzelnen Objekten
Strainer
BeitragVerfasst am: Mo, 8 Feb 2010 - 20:30  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 25.01.2010
Beiträge: 37
Wohnort: Wien

Hallo.

Ich arbeite momentan an meinem ersten Projekt in Inform 7 und konnte durch die Arbeit daran bereits viele neue Ansätze und Möglichkeiten von Inform 7 und der GerX Erweiterung lernen.

Die bisher entstandenen Probleme konnte ich eigentlich alle durch Studium von Extensions oder der Documentation lösen. Mein jetziges Problem will sich aber nicht so einfach lösen lassen und ich bin mir nicht sicher ob es sich überhaupt im Source des Spieles lösen lässt oder nur direkt in Gerx.

Mein Problem:

Ich möchte in meinem Spiel eine Bierkiste mit einzelnen Bierflaschen (2 Zustände, voll oder leer, eine genauere Abstufung werde ich nicht brauchen).
Folgenden Code habe ich bisher:

[Bierflaschen]
Bierflasche-Fuelle is a kind of value. The Bierflasche-Fuelles are voll and leer.
A Bierflasche is a kind of thing. A Bierflasche has a Bierflasche-Fuelle. A Bierflasche is usually leer. A Bierflasche is usually female.
The printed name of a Bierflasche is usually "Bierflasche".
Before printing the name of a Bierflasche: say "[Bierflasche-Fuelle]e ".
Before printing the plural name of a Bierflasche: say " [Bierflasche-Fuelle]e ".
Understand the Bierflasche-Fuelle property as describing a Bierflasche.

[Bierkiste]
The Bierkiste is a female container in the Jardenhaus Keller.
In the Bierkiste are six leer Bierflasche and seven voll Bierflasche.


Die Ausgabe sieht so aus:

Raumname
Raumbeschreibung.

Du siehst hier die Kellertür und eine Bierkiste (darin sechs leere bierflasches und sieben volle bierflasches).


Die Methode für den Code habe ich aus dem Beispiel in "Kapitel 4.4. Duplicates" entnommen. 2 Probleme treten damit auf:
    2 Leerzeichen zwischen der Zahl und dem Adjektiv
    die Merhzahl von Bierflaschen wird als "Bierflasches" gebildet
    das Hauptwort Bierflasche wird klein geschrieben


Meine Frage ist nun ob ich diesen Fehler in meinem Code beheben kann oder ob es ein Bug in GerX oder Inform 7 selbst ist.

MfG

Edit:
Nachdem ich mich weiter mit dem Problem befasst habe konnte ich es selbst lösen.

Hier der neue Sourcecode:

[Bierflaschen]
Bierflasche-Fuelle is a kind of value. The Bierflasche-Fuelles are voll and leer.
A Bierflasche is a kind of thing. A Bierflasche has a Bierflasche-Fuelle. A Bierflasche is usually leer. A Bierflasche is usually female. The plural of Bierflasche is Bierflaschen.
[The printed name of a Bierflasche is usually "Bierflasche".]
Before printing the name of a Bierflasche: say "[Bierflasche-Fuelle]e ".
Before printing the plural name of a Bierflasche: say "[Bierflasche-Fuelle]e ".
Understand the Bierflasche-Fuelle property as describing a Bierflasche.

[Bierkiste]
The Bierkiste is a female container in the Jardenhaus Keller.
In the Bierkiste are one leer Bierflasche and seven voll Bierflasche.


Funktioniert soweit alles wie erwartet und es wird nun richtig ausgegeben. GerX trifft natürlich keine Schuld, alles meine Fehler :D

Das Leerzeichen war in meiner Source.
Durch betrachten der Kinds im Index meines Games konnte ich auch das Attribut plural entdecken, womit sich die Mehrzahlbildung auch erledigt hätte.

Grüße
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Martin
BeitragVerfasst am: Mo, 8 Feb 2010 - 21:57  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Achtung, ein I7-Leichtmatrose fährt hier in seichtem Gewässer, erfahrene I7er korrigieren mich bitte:

2 Leerzeichen zwischen der Zahl und dem Adjektiv
Das erste Leerzeichen schreibt Inform automatisch nach der Zahl oder nach einem Artikel. Das zweite Leerzeichen hat Du selbst vor dem vorangestellten Adjektiv angegeben. Probiere es mal mit:

Before printing the plural name of a Bierflasche: say "[Bierflasche-Fuelle][^] ".

Das Dach [^] anstelle des e bewirkt, dass hier die richtige Endung ausgegeben wird, also zum Beispiel "Du kannst an der leeren Bierflasche nichts Besonderes sehen." Das Leerzeichen vor dem Adjektiv habe ich weggelassen, aber das danach nicht.

die Merhzahl von Bierflaschen wird als "Bierflasches" gebildet
Inform 7 denkt in Englisch und bildet, wenn nichts anderes angegeben wird, Plurale auf -s oder -es. Also muss man etwas anderes angeben:

The plural of Bierflasche is Bierflaschen.

(Das "usually" braucht man hier nicht, glaube ich.)

das Hauptwort Bierflasche wird klein geschrieben
Das sollte ebenfalls mit dem explizit angegebenen Plural gelöst sein. Der Plural wird für die Textausgabe und die Texterkennung verwendet. Leider ist "Bierflaschen" zu lang, um als getrennter Plural erkannt zu werden - die Z-Maschine hört nach neun Buchstaben auf, Wörter zu unterscheiden.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Strainer
BeitragVerfasst am: Di, 9 Feb 2010 - 14:27  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 25.01.2010
Beiträge: 37
Wohnort: Wien

Danke für die nützlichen Tipps Martin.

Ein weiteres Problem ist im Verlauf leider aufgetreten:

Ich möchte die Bierflasche (nachdem sie im Inventar des Spielers ist) an einen anderen Charakter übergeben. Danach soll die Bierflasche natürlich aus dem Inventar gelöscht werden, was leider nicht passiert. Der Befehl "remove from play" hat bei mir weder mit "voll Bierflasche" noch mit "Bierflasche" oder "the Bierflasche" funktioniert, es kommt immer folgende Fehlermeldung:

Problem. You wrote 'remove voll Bierflasche from play' , but 'voll Bierflasche' seems to be an object matching a description, whereas I was expecting to find an object there.

After giving the voll Bierflasche to Michael:
say "[remove BierMitgenommen tell suggestion]'Hier Michael, ein frisches Hopfen.' sagst du während du die Flasche an Michael übergibst.[paragraph break]'Ich danke.' antwortet er.";
remove voll Bierflasche from play.


MfG
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Di, 9 Feb 2010 - 14:48  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Versuch doch mal Folgendes: [ungetestet]

After giving a voll Bierflasche (called Pulle) to Michael:
[...]
remove Pulle from play;
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Strainer
BeitragVerfasst am: Di, 9 Feb 2010 - 14:53  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 25.01.2010
Beiträge: 37
Wohnort: Wien

Danke Christian, hat perfekt funktioniert.

Ich hab auch in letzter Zeit ein bisschen in Inform 6 reingeschaut, aber die Einarbeitungszeit scheint mir doch um einiges länger zu sein als bei Inform 7 (habe selbst nur sehr geringe Programmiererfahrung).

Wie stark fallen denn die zusätzlichen Ressourcen, die Inform 7 Spiele brauchen, ins Gewicht, ist ein Performanceunterschied zu bemerken?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ChristianB
BeitragVerfasst am: Di, 9 Feb 2010 - 15:45  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Strainer hat folgendes geschrieben:
Wie stark fallen denn die zusätzlichen Ressourcen, die Inform 7 Spiele brauchen, ins Gewicht, ist ein Performanceunterschied zu bemerken?

Bei größeren Glulx-Spielen hat's wohl Probleme mit dem Interpreter Glulxe gegeben. Der Glulx-Interpreter Git war die Antwort darauf; er ist auf Geschwindigkeit getrimmt und macht epische Werke wie "Blue Lacuna" spielbar.

Bei Z-Code-Spielen zeigt sich die eingeschränkte Geschwindigkeit beim Online-Spielen mit Parchment. Aber was genau zu den Einbußen führt, weiß ich jetzt nicht genau. Indexed text ist, glaube ich, ein recht verschwenderischer Datentyp. Aber vielleicht wird die nächste I7-Version auch in dieser Hinsicht etwas ändern, wer weiß.

Hast Du denn schon mit spürbaren Tempoverlusten zu kämpfen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Strainer
BeitragVerfasst am: Di, 9 Feb 2010 - 17:07  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 25.01.2010
Beiträge: 37
Wohnort: Wien

Nein, keineswegs. Aber auf meinem i7 Quad hätte ich das auch nicht erwartet, mir geht es eher um die Ausführung auf Pocket PCs etc.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
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.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05