Autor |
Nachricht |
< Inform 7: Third person singular - Name statt Pronomen? |
|
Verfasst am:
Do, 12 Jun 2014 - 13:28
|
|
|
Wasserträger
Anmeldungsdatum: 07.04.2012
Beiträge: 52
Wohnort: München
|
|
Im neuen Inform 7 kann man ja den viewpoint festelegen, etwa so:
Code: | When play begins:
now the story viewpoint is third person singular;
now the story tense is present tense. |
Dann steht als Ausgabe etwa da: "She can see a box." (falls der Player weiblich ist) statt traditionell: "You can see a box."
Weiß einer vielleicht eh schon eine einfache Möglichkeit, statt "She" den Namen des Players auszugeben, also etwa: "Maria can see a box."
Das klingt für mich natürlicher. |
|
|
|
|
|
Verfasst am:
Do, 12 Jun 2014 - 16:35
|
|
|
Wasserträger
Anmeldungsdatum: 07.06.2003
Beiträge: 35
|
|
Vermutlich wirst Du alle Standardantworten, die Dir nicht zusagen, von Hand ändern müssen. Das geht mit der neuen Inform-Version und dem Konzept der Responses zumindest einfacher als früher, etwas Schreibarbeit wird aber bleiben... |
|
|
|
|
|
Verfasst am:
Do, 12 Jun 2014 - 21:35
|
|
|
Wasserträger
Anmeldungsdatum: 07.04.2012
Beiträge: 52
Wohnort: München
|
|
Danke. Schade, dass das nicht anders geht, wäre auch zu schön gewesen. |
|
|
|
|
|
Verfasst am:
Do, 12 Jun 2014 - 23:26
|
|
|
Experte
Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg
|
|
Ooooder du bohrst die We-Phrase, die in English Language.i7x, Section 2 - Saying pronouns (nach "To say We" suchen) definiert ist, auf. Vielleicht musst du für deine Zwecke auch die Phrasen we, us, Us etc. abändern; ich habe das mal exemplarisch für die We-Phrase gemacht.
Die Say-Phrasen kann man einfach ohne Replace-Mechanismus überschreiben, sodass die Verwendung im eigenen Code sehr einfach ist. Die entsprechene Routine wird auf I6-Level zwar definiert aber nie verwendet. Wenn man es ganz sauber machen will, kann natürlich auch die Section 2 - Saying pronouns in English Language komplett ersetzt werden (per "in place of").
Im folgenden Beispiel kann das Erzwingen des Namens durch eine Steuervariable "force-name" bei Bedarf zur Laufzeit ein- oder ausgeschaltet werden.
Code: | "Pronouns Suck" by Hombre del Nombre
Force-name is a truth state that varies.
When play begins:
now force-name is true;
now the story viewpoint is third person singular;
now the story tense is present tense.
The player is female. The printed name of the player is "Maria".
The Kitchen is a room.
A box is here.
To say We:
now the prior named object is the player;
if the story viewpoint is first person singular:
say "I";
if the story viewpoint is second person singular:
say "You";
if the story viewpoint is third person singular:
if force-name is true:
say "[printed name of player]";
otherwise:
if the player is male:
say "He";
otherwise:
say "She";
if the story viewpoint is first person plural:
say "We";
if the story viewpoint is second person plural:
say "You";
if the story viewpoint is third person plural:
say "They". |
Das Testspiel hat folgendes geschrieben: | Pronouns Suck
An Interactive Fiction by Hombre del Nombre
Release 1 / Serial number 140613 / Inform 7 build 6L02 (I6/v6.33 lib 6/12N) SD
Kitchen
Maria can see a box here. |
Das ist insgesamt weniger Schreibkram, als die Responses umzuschreiben, glaube ich. |
|
|
|
|
|
Verfasst am:
Fr, 13 Jun 2014 - 7:18
|
|
|
Wasserträger
Anmeldungsdatum: 07.04.2012
Beiträge: 52
Wohnort: München
|
|
Danke sehr! Das hat mein Problem wunderbar gelöst. (Und neue aufgemacht, aber an denen kann ich selber basteln.) |
|
|
|
|
|
Verfasst am:
Fr, 13 Jun 2014 - 14:19
|
|
|
Wasserträger
Anmeldungsdatum: 07.06.2003
Beiträge: 35
|
|
Ja krass... da hätte ich mich nie rangetraut und viel zu viel Angst vor Nebenwirkungen gehabt ;-)
Mein Fehler, dass ich da fälschlicherweise schon abgewunken hatte. Manche Sachen soll man dann doch den Profis überlassen. Ich bitte um Entschuldigung... |
|
|
|
|
|