Klassen und Attribute

Ein unvollständiger Überblick:

Die Attribute bedeuten Folgendes:

Allgemein

Diese Attribute haben alle Objekte; Inform setzt die Werte dabei oft automatisch richtig, so dass man sie meist nicht verändern muss.

  • printed name
    Das ist der Name des Objekts, so wie ihn der Spieler zu sehen bekommt. Standardmäßig sieht der so aus wie der Objektbezeichner selber, so dass man nichts daran ändern muss; man kann ihn aber auch ändern, etwa wenn sich ein Objekt im Lauf des Spiels verändert (now the printed name of the clock is "broken clock") oder als etwas anderes herausstellt (now the printed name of the strange man is "Captain Nemo").
  • printed plural name
    Dasselbe für den Plural. Inform benutzt eine Form des Plural-Algorithmus von Damian Conway und formuliert damit korrekt die Pluralformen oxen, geese (but mongooses), sheep, wildebeest, bream, vertebrae, quartos, wharves, phenomena, jackanapes und smallpox. Aber manchmal muss man bei einer so unregelmäßigen Sprache wie Englisch nachhelfen und die Pluralform explizit angeben. Auch hier geht es nur die Ausgabe für den Spieler.
  • singular-named/plural-named
    Das entscheidet darüber, ob als Verb “is” oder “are” ausgegeben wird. Some seagulls are in the sky. Wenn bei der Definition nicht “the” oder “a” angegeben wird, sondern “some”, erkennt Inform das Objekt automatisch als Plural und wählt die korrekte Form des Verbs bei der Ausgabe.
  • improper-named/proper-named
    Wenn ein Objekt proper-named ist, heißt das, dass dessen Name als Eigenname zu verstehen ist. Das beeinflusst unter anderem die Wahl des bestimmten/unbestimmten Artikels bei der Ausgabe. Inform setzt ein Objekt automatisch auf proper-named, wenn bei der Erzeugung kein Artikel verwendet wird: Captain Nemo is a man. Heaven is a room.
  • indefinite article
    Inform entscheidet selber, wann ein bestimmter oder unbestimmter Artikel (oder gar keiner) bei der Ausgabe verwendet werden muss. Der unbestimmte Artikel ist normalerweise “a/an”, bei proper-named Objekten ist er standardmäßig none. Man kann ihn aber auch ändern: A knife is carried by the player. The indefinite article of the knife is "your old".

Räume

Hier muss man für den Anfang nur dem Beschreibungs-Attribut einen sinnvollen Wert zuweisen.

  • description
    Ein String, der immer dann ausgegeben wird, wenn man sich den Raum anschaut. Enthält Hinweise auf mögliche Ausgänge, aber keine Angaben über bewegliche Gegenstände dort. The Wood is a room. "A dark and dangerous forest. A road goes east."
  • lighted/dark
    Standardmäßig sind Räume hell, in dunklen Räumen kann man fast nichts machen, wenn man keine Lichtquelle mit sich führt.
  • unvisited/visited
    Räume sind standardmäßig unvisited, solange der Spieler nicht in ihnen war. Nach dem ersten Aufenthalt dort wird das Attribut auf visited gesetzt. Den Wert wird man selten manuell zuweisen, kann ihn aber zuweilen für Bedingungen brauchen if the number of unvisited rooms is greater than one.
  • region
    Räume können zu bestimmten Regionen gehören, so dass man für alle Räume in einer bestimmten Region Regeln aufstellen kann. Ist für kleinere Projekte nicht so wichtig.

Gegenstände

Hier wird man mindestens das Beschreibungs-Attribut manuell setzen, die anderen teilweise auch.

  • description
    Ein String, der immer dann ausgegeben wird, wenn man sich den Gegenstand anschaut. The red cap is in the Family's House. The description is "The cap is made of velvet and very soft and very red. It is your favourite cap."
  • initial appearance
    Ein String, der als Beschreibung des Objekts ausgegeben wird, solange man ihn noch nicht genommen hat, solange er also einfach so herumliegt oder -steht. The red cap is in the Family's House. The description is "The cap is made of velvet and very soft and very red. It is your favourite cap." The initial appearance is "A piece of red cloth lying on the floor." Braucht man für den Anfang nicht. Es gibt eine Abkürzung: wenn man unmittelbar nach dem Erzeugen eines Objekts einen String ohne weitere Angaben macht, wird das als initial appearance verstanden. Man könnte den Code von eben also auch so schreiben: The red cap is in the Family's House. "A piece of red cloth lying on the floor." The description is "The cap is made of velvet and very soft and very red. It is your favourite cap."
  • unlit/lit
    Ein Gegenstand kann entweder eine Lichtquelle sein oder nicht. Nur mit einer sichtbaren Lichtquelle kann man in einem dunklen Raum viel unternehmen. The torch is lit.
  • inedible/edible
    Essbare Gegenstände kann man essen, dann sind sie weg. The cake is an edible thing.
  • portable/fixed in place
    Tragbare Gegenstände kann man nehmen, andere nicht.
  • described/undescribed
    Braucht man für den Anfang nicht. Ein Gegenstand, der als undescribed markiert ist, wird in der Liste der Gegenstände in einem Raum nicht ausgegeben, auch wenn er tatsächlich ja da ist.
  • unmarked for listing/marked for listing
    Braucht man für den Anfang nicht. Das ist ein flag, den man setzen kann, wenn es darum geht, ob Gegenstände in einer speziellen Liste ausgegeben werden sollen oder nicht.
  • mentioned/unmentioned
    Braucht man für den Anfang nicht. Das ist ein flag, den Inform setzt und der angibt, dass bei der aktuellen Raumbeschreibung dieser Gegenstand bereits erwähnt wurde (etwa in einer Liste) und aktuell nicht noch einmal erwähnt zu werden braucht.
  • (not) pushable beween rooms
    Erst mal nicht wichtig. Macht Sinn bei Gegenständen, die man zwar nicht tragen kann, die man aber in den Nachbarraum schieben kann. The table is not portable. It is pushable between rooms.
  • (not) wearable
    Man kann es anziehen oder nicht. The red cap is a wearable thing in the House.
  • (not) scenery
    Ein scenery-Objekt ist standardmäßig nicht tragbar und wird vor allem nicht als Gegenstand im Anschluss an eine Raumbeschreibung ausgegeben. Damit markiert man Dinge, die zur Dekoration eines Raumes gehören, die aber nicht wichtig genug sind, um den Spieler sofort darauf hinzuweisen. Weil sie nicht tragbar sind, sollte man in der Raumbeschreibung einen Hinweise auf ihre Existenz geben.The Meadow is a room. "A colourful meadow, full of grass and flowers and the humming of bees. Some beautiful flowers are scenery in the Meadow. The description is "The flowers are red and yellow and orange. They smell nice." Vermutlich sollte man aus dem Gras und den Bienen auch noch Deko-Objekte machen.
  • (not) handled
    Für den Anfang nicht wichtig. Das ist ein flag, den Inform selber setzt, um zu markieren, ob ein Objekt schon mal in die Hand genommen wurde oder nicht. (Davon hängt zum Beispiel ab, ob als Beschreibung der Wert des Attributs description oder des Attributs initial appearance herangezogen wird.) Kann man in Bedingungen einsetzen: if the cap has not been handled.
  • matching key
    Jeder Gegenstand kann einen anderen Gegenstand als Schlüssel haben. Macht vor allem Sinn bei Gegenständen, die man öffnen kann. The matching key of the secret door is the magic stick. oder einfacher The magic stick unlocks the secret door.

Container (zum Teil auch Supporter)

  • open/closed
    Ein Behälter kann offen sein oder geschlossen. Das heißt noch nicht, dass der Zustand veränderbar ist – eine Vase ist zum Beispiel immer offen.
  • unopenable/openable
    Eine Vase ist unopenable, ein Karton openable.
  • unlocked/locked
    Ein Behälter kann verschlossen sein oder nicht. Das heißt noch nicht, dass der Zustand veränderbar ist – eine Schatzkiste, in deren Schloss der Schlüssel abgebrochen ist, mag verschlossen sein, aber gar nicht mehr aufschließbar.
  • (not) lockable
    Ein Karton ist nicht verschließbar, eine Schatzkiste möglicherweise schon. Wenn ein Behälter lockable ist, dann kann der Spieler den Zustand von verschlossen auf aufgeschlossen (oder umgekehrt) nur dann setzen, wenn er im Besitz des matching key des Behälters ist.
  • (not) enterable
    Ein Behälter oder Supporter kann so groß sein, dass man hinein beziehungsweise darauf kann (Bett, Stuhl, Schrank, Tisch, große Kiste) oder nicht (Vase, Schultasche, Kaminsims).
  • opaque/transparent
    Ein Behälter kann durchsichtig sein oder nicht.
  • carrying capacity
    Erst mal weglassen. Standardmäßig passen 100 Gegenstände in jeden Behälter/Supporter, das kann man zwar auf einen niedrigeren Wert setzen, aber um zu verhindern, dass der Elefant in die Vase passt, muss man sich etwas Komplizierteres einfallen lassen (ein Größen-Attribut etwa).

Device

Unterklasse zu Thing. Einziges neues Attribut: ist switched on oder switched off.

Person

Unterklasse zu Thing, mit den eigenen Unterklassen man, woman und animal. (Die Attribute female/male werden automatisch gesetzt.)

Door

Unterklasse zu Thing. Würde ich erst mal weglassen. Ist ähnlich wie der Container closed/open, openable/unopenable, (not) lockable; ist nie portable oder pushable between rooms. Benutzt wird eine Tür wie ein Raum: The House is a room. East of the house is a door called the green door. East of the green door is a room called the Garden. Das Attribut other side gibt den Raum an, der zur Zeit auf der anderen Seite der Tür ist.

Backdrop

Unterklasse zu Thing. Kann man erst mal weglassen. Ist ein Objekt, das nie portable oder pushable und üblicherweise scenery ist und die Eigenschaft hat, quasi an mehreren Orten gleichzeitig zu sein. Braucht man etwa für einen Fluss, der in mehreren Räumen zu sehen sein soll.

— Einen besseren Überblick einschließlich aller Vorbelegungen der Attribute gibt die zweite Seite des Cheat Sheets von Mark-Oliver Reiser.


Methoden, die als Teil der Klasse gekapselt sind, gibt es nicht, aber: siehe eigenen Eintrag dazu.

Schreibe einen Kommentar