IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Bierkiste mit Bierflaschen als einzelnen Objekten
AntwortenNeues ThemaNeue Umfrage

Bierkiste mit Bierflaschen als einzelnen Objekten

Geschrieben um 21:30 am 08.02.2010 | Zitat | Editieren | Löschen
Strainer
Mitglied
Bachelor Gumby
Beiträge: 48

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:

blue

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:

blue

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

Geschrieben um 22:57 am 08.02.2010 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Prof Gumby
Beiträge: 634

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:

003399

Das Dach #003399 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:

003399

(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.

Geschrieben um 15:27 am 09.02.2010 | Zitat | Editieren | Löschen
Strainer
Mitglied
Bachelor Gumby
Beiträge: 48

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.

blue

MfG

Geschrieben um 15:48 am 09.02.2010 | Zitat | Editieren | Löschen
ChristianB
Mitglied
Retired Gumby
Beiträge: 1062

Versuch doch mal Folgendes: [ungetestet]

blue

Geschrieben um 15:53 am 09.02.2010 | Zitat | Editieren | Löschen
Strainer
Mitglied
Bachelor Gumby
Beiträge: 48

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?

Geschrieben um 16:45 am 09.02.2010 | Zitat | Editieren | Löschen
ChristianB
Mitglied
Retired Gumby
Beiträge: 1062

Strainer:

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?

Geschrieben um 18:07 am 09.02.2010 | Zitat | Editieren | Löschen
Strainer
Mitglied
Bachelor Gumby
Beiträge: 48

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.

AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz