Forum moved to if-forum.org
Autor Nachricht
<  Multiheld aushebeln
proc
BeitragVerfasst am: So, 10 März 2013 - 13:19  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Ich kriege ein Multiheld-Problem nicht gelöst. Ich trage z.B. die vier Zahlen 1, 1, 2 und 2 als Objekte bei mir, will eine Zwei essen, dann eine 2 hinlegen und schließlich eine 1 als Nachtisch verspeisen. Dann sollte ich noch eine 1 übrig haben, in der dropping-Aktion funkt aber das Parser-multiheld dazwischen:

Code:
"Der Multiheld"

Include German by Team GerX.

Section - Mechanics

A num is a kind of thing. A num is always female.
A num is usually edible.

A one-num is a kind of num. The printed name of one-num is "Eins".
Understand "1" and "eins" as one-num.

A two-num is a kind of num. The printed name of two-num is "Zwei".
Understand "2" and "zwei" as two-num.

Section - World

Hamilton's world is a room.

The Multihero is a man in Hamilton's world.
The player is Multihero.

The one-num-1 is a one-num. Multihero is carrying one-num-1.
The one-num-2 is a one-num. Multihero is carrying one-num-2.
The two-num-1 is a two-num. Multihero is carrying two-num-1.
The two-num-2 is a two-num. Multihero is carrying two-num-2.

test me with "iss 2 / leg 2 hin / iss eins".

Der Parser hat folgendes geschrieben:
>[1] iss 2
Du isst die Zwei. Nicht schlecht.

>[2] leg 2 hin
Eins: In Ordnung.
Eins: In Ordnung.

>[3] iss eins
(Dazu hebst du die Eins erst auf.)
Du isst die Eins. Nicht schlecht.

Auf Aktionsebene lässt sich das im dropping nicht handhaben, da ist die Zahl dann schon in den Untiefen des Parsers versunken. Wie kriege ich da das verdammte MULTIHELD weg???
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: So, 10 März 2013 - 15:10  Antworten mit Zitat
Experte
Experte


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

Das musst Du auf Parserebene lösen:

Understand "tu [num] weg" as dropping.
Understand "lass [num]" as dropping.
Understand "lass [num] fallen/liegen/hier/ab/aus/los" as dropping.
Understand "wirf [things] [weg]" as dropping.
Understand "setz [num] ab/hin" as dropping.
Understand "leg [num] hin" as dropping.
Understand "leg [num] [weg]" as dropping.
Understand "stell [num] ab/weg/hin" as dropping.
Understand "stell [num] [weg]" as dropping.


Das scheint in Deinem kleinen Beispiel zu funktionieren, wenn ich nichts übersehen habe. Leider kann man die Information "preferably held" nur zusammen mit "something" und "things", nicht mit einem Kind verwenden.

(I7 verwendet den I6-Parser, der meiner Meinung nach Semantik und Grammatik vermischt. Die Frage, welche Objekte man hinlegen kann und welche nicht, gehören nicht ins Satzmuster, sondern zur Aktion "dropping". Der I6-Parser ist leider kein Multiheld, sondern ein einziger Depp. :-(

Dass das in I6 so gemacht wurde, mag ja noch angehen, aber dass man sich für I7 nicht die Zeit genommen hat, diese ganzen Inkonsistenzen einmal geradezuziehen, und stattdessen versucht hat, die I7-Syntax ins Korsett des I6-Parsers zu zwängen, ist ein großes Versäumnis.)

Wenn Du außer Deinen Objektnamen auf Zahlen in der Eingabe, also auf das Number-Token ("Stell Safe auf 2134") und Multi-Tokens ("nimm drei rohe Eier") verzichten kannst, gibt es übrigens noch eine Brachiallösung:

Include (-
[ tryNumber x; return -1000; ];
-) instead of "TryNumber" in "Parser.i6t".

_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: So, 10 März 2013 - 15:29  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Martin hat folgendes geschrieben:
Das musst Du auf Parserebene lösen:

Understand "tu [num] weg" as dropping.
[...]


Include (-
[ tryNumber x; return -1000; ];
-) instead of "TryNumber" in "Parser.i6t".

Schon probiert, da gibt's Probleme mit LEG ZWEI ZWEIEN HIN, was verhindert werden muss und in meinem abweichend vom Beispiel noch etwas anders ausgeführten Code zu Missverständnissen führt wie

Der Parser hat folgendes geschrieben:
>leg zwei einsen hin
Was meinst du, die Zwei, die Zwei, die Zwei oder die Zwei?

Ich seh aus deinen Parser-Ausführungen schon, dass es sich um ein PreInformese-Problem auf dem Maschinendeck handelt. SCOOOOTTY, falls du da eine einfachere Idee hast...
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: So, 10 März 2013 - 17:04  Antworten mit Zitat
Experte
Experte


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

proc hat folgendes geschrieben:
Ich seh aus deinen Parser-Ausführungen schon, dass es sich um ein PreInformese-Problem auf dem Maschinendeck handelt. SCOOOOTTY, falls du da eine einfachere Idee hast...

Nein, nein, mit PreInformese hat das nichts zu tun. Vielleicht kann man da was drehen, aber es ist nicht die richtige Stelle.

Ich habe mich zuerst gewundert, weshalb sich das normale [multi] und das [multiheld] so verschieden verhalten: Bei "leg zwei ab" wird ein Plural angenommen, bei "nimm zwei" nicht. Daran liegt's aber nicht: Der Plural wird immer dann angenommen, wenn nach der Zahl etwas folgt, wie bei "lege zwei hin" oder wie bei "nimm zwei.", mit abschießendem Punkt.

P.S.: Ich habe gerade einmal im genauso versifften Maschinenraum des englischen Schwesterschiffs, der S.S. Graham Nelson, geschaut: Da ist das Verhalten genauso. Zusammen mit den Inferences in Klammern bekommt das ja geradezu groteske Züge:

I7 hat folgendes geschrieben:

> take one.
(the three)
Taken.

_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: So, 10 März 2013 - 17:35  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Martin hat folgendes geschrieben:
P.S.: Ich habe gerade einmal im genauso versifften Maschinenraum des englischen Schwesterschiffs, der S.S. Graham Nelson, geschaut: Da ist das Verhalten genauso. Zusammen mit den Inferences in Klammern bekommt das ja geradezu groteske Züge:

:o)
Da Scotty nicht genug Scotch im Schrank hat um den Warpkern umzubauen, gefällt ihm wohl die Brachiallösung am besten und Multiblah kann man über eine Rule fehlschlagen lassen. So geht's jedenfalls, besten Dank für den Brachialtipp!
Code:
Include (-
[ tryNumber x; return -1000; ];
-) instead of "TryNumber" in "Parser.i6t".

Include (-
[ I7_ExtendedTryNumber x; return -1000; ];
-) instead of "Extended TryNumber" in "Parser.i6t".

[-> LEG NEUN HIN]
Check an actor dropping a num:
   (Blah);
   stop the action.

[-> LEG DREIUNDZWANZIG NEUNEN HIN]
Rule for asking which do you mean (this is the deny handling multiple objects rule):
   say "Hier kann nur eine Sache angegeben werden.";
   rule fails.

_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: So, 10 März 2013 - 21:50  Antworten mit Zitat
Experte
Experte


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

Ich habe mal ein wenig weitergewurschtelt, und Erstaunliches gefunden.

Man kann zum Beispiel sagen "nimm acht zwölf zwanzig drei Bälle" - es ist dasselbe wie "nimm drei Bälle". Das kann man in Descriptors() fixen, dann klappt zumindest "nimm zwei dreien".

Wenn das erste Wort der "richtigen" Wortanalyse, also nach eventuellen Deskriptoren, hinter die Eingabe zeigt, wird das betrachtete Objekt pro forma mit der niedrigen Qualität Null auf die Liste der möglichen Treffer gesetzt. Wenn ich das auskommentiere, verhält sich der Fall "nimm zwei" wie "heb zwei auf", es werden also zwei beliebige Objekte aufgehoben.

Das ist ja eigentlich auch nicht gewollt, oder? Wenn ich sage "Nimm zwei" werden zwei beliebige Objekte aufgehoben. Ich finde, das sollte man eh unterbinden. Der einzige Fall, bei dem man nach einem Multi-Descriptor nichts angeben muss, ist wohl "alles": "Nimm alles" oder "Nimm alle Dreien".

Das habe ich mit einer zusätzlichen Prüfung auch unterbunden. Der Fall, dass man vor den Deskriptoren noch einmal parst, war schon durch einen obskuren Sprung implementiert. Damit wird "Zwei" dann, wenn keine weitere Beschreibung mehr folgt, als Nomen der Zwei verstanden. Hurra!

Beziehungsweise nicht hurra, denn nun kommt auf die Eingabe "Nimm" (ohne Objekt) die Antwort: "So etwas siehst Du hier nicht", wo eigentlich die Frage "Was willst Du nehmen" kommen sollte. Man muss aber gewiss nur eine der fünfzig obskuren globalen Variablen auf einen bestimmten Wert setzen, und schoon... (Aaaaaargh!)

Auf jeden Fall habe ich jetzt eine Vermutung, wieso das Inform HQ in Oxford ist - mit dem Auto ist's nur eine Stunde nach Bletchley Park.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: So, 10 März 2013 - 23:12  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Ein schönes Beispiel, wie gutgemeinte Parser-Hilfen sich ins Gegenteil verkehren können. Man muss sich schon erstmal ein Spiel vornehmen, das mit Zahlen als Objekten arbeitet, um auf solche Details zu stoßen, und da gibt's noch viel mehr. So muss das Inventory komplett umgebaut werden weil es aus noch unverständlichen Gründen uneinheitlich gruppiert:

Der Parser hat folgendes geschrieben:
>i
Du hast Folgendes bei dir:
[...]
zwei Zweien
eine Eins
eine Eins

Da kommt dann schon eine längere GerX-Wunschliste zusammen, ich hab das jetzt noch nicht in der englischen Version überprüft. Dass auch I7-Superdetails wie "Does the player mean dropping a num: it is likely" nicht greifen weil der Parser längere Arme hat, grenzt schon an Folter und ist Autoren unterm Strich nicht zumutbar. Was ich schön fände, wäre ein Schalter für solche gutgemeinten Hilfen. Wir hätten den Engländern die ENIGMA nie überlassen sollen!
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Mo, 11 März 2013 - 9:42  Antworten mit Zitat
Experte
Experte


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

Das mit dem Gruppieren klappt ganz gut:

To say (n - a number) capitalised:
--> let s be indexed text;
--> let s be "[n in words]";
--> say "[s in title case]".

A num is a kind of thing. A num is privately-named. Every num has a number called numeric value. The numeric value is usually 1. The printed name is "[numeric value capitalised]". The printed plural name is "[numeric value capitalised]en". Understand the numeric value property as describing the num.

A num is always female. A num is usually edible.

A one-num is a kind of num. The numeric value is 1. The printed plural name is "Einsen".
A two-num is a kind of num. The numeric value is 2. The printed plural name is "Zweien".
A three-num is a kind of num. The numeric value is 3. The printed plural name is "Dreien".
A four-num is a kind of num. The numeric value is 4. The printed plural name is "Vieren".
A five-num is a kind of num. The numeric value is 5. The printed plural name is "Fünfen".
A six-num is a kind of num. The numeric value is 6. The printed plural name is "Sechsen".

Section - World

Hamilton's world is a room.

The player carries six one-nums, five two-nums, one three-num, four four-nums and one five-num.


Wieso wirkt sich privately-named aber nicht auf die Plurale aus? Die Unterklassen bekommen zwar den singular von der Klasse num, aber der Plural wird automatisch nach Englischen Regeln aus dem Klassennamen gebildet, wenn ich nichts extra angebe.

Ich hätte die Unterklassen gar nicht erzeugt, wenn ich gewusst hätte, wie ich dem Spieler schnell zwei Einsen und zwei Zweien geben kann.

"The player carries two nums with a numerical value of 3" und "The player carries two nums whose numerical value is 3" gehen schon mal nicht. Wenn ich sage "The player carries three nums. The numeric value is 3" denkt I7, dass sich der Zahlenwert auf den Spieler bezieht. Wenn ich sage "The player carries two nums. The numeric value is 3" denk I7, der Zahlenwert bezieht sich auf den Raum (!), der in einem eigenen Absatz definiert wird. Wenn ich sage "The player carries two nums. The numerical value of the nums is 3" klappt es auf den ersten Blick, aber damit definiere ich den Zahlenwert aller Nums:

Two nums are carried by the player. The numeric value of the nums is 3.
Three nums are carried by the player. The numeric value of the nums is 5.


Das definiert, richtig: fünf Fünfen. Wenn ich die Nums über eine Tabelle initialisiere, wird der numerische wert nicht übernommen, er ist ungeahtet des Werts in der Tabelle, ein, also der in der Klasse definierte Default-Wert. Es bleiben also Unterklassen mit explizitem Plural oder folgendes:

The player carries a num called a pretty num. The numeric value of the pretty num is 2.
The player carries a num called a naughty num. The numeric value of the naughty num is 2.
The player carries a num called a stubborn num. The numeric value of the stubborn num is 2.
The player carries a num called a neat num. The numeric value of the neat num is 3.
The player carries a num called an awkward num. The numeric value of the awkward num is 3.
The player carries a num called a silly num. The numeric value of the silly num is 4.
The player carries a num called an unwieldy num. The numeric value of the unwieldy num is 4.
The player carries a num called an ungainly num. The numeric value of the ungainly num is 4.
The player carries a num called a cringe-inducing num. The numeric value of the cringe-inducing num is 5.


Ha! Das hat ja fast schon dieselbe Eleganz wie

Numeric -> with value 1;
Numeric -> with value 1;
Numeric -> with value 1;
Numeric -> with value 2;
Numeric -> with value 3;
Numeric -> with value 3;


Wahrscheinlich ist alles ganz einfach, aber das Rumgestochere nach der richtigen syntax macht einen ja ganz wuschig.

The author is a man in the asylum. The author can be sane, mildly bemused, at the brink of insanity or completely bonkers. The author is at the brink of insanity.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: Mo, 11 März 2013 - 10:51  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Martin hat folgendes geschrieben:
Wieso wirkt sich privately-named aber nicht auf die Plurale aus? Die Unterklassen bekommen zwar den singular von der Klasse num, aber der Plural wird automatisch nach Englischen Regeln aus dem Klassennamen gebildet, wenn ich nichts extra angebe.

I7 ist ziemlich einfach, wenn man nach Jahren der kontemplativen Versenkung einen Hauch der komplizierten Zusammenhänge zu erahnen beginnt. Printed plural-name war in meinem Code enthalten, die umständlich wirkende Objektstruktur mit Kinds und Kinds of Kinds ist leider wegen der automatischen Handhabung eines Riesenhaufens von unterscheidbaren Zahlen und zahlengebundener Aktivitäten notwendig. "privately-named" hat sich als simple Lösung der Inventory-Gruppierung herausgestellt, die ich aber noch nicht begreife, denn offenbar wirkt es sich doch auf die Plurale aus. Der von mir verwendete Code entspricht nicht ganz dem Eingangsbeispiel oben, aber offenbar kann etwas im Hamilton-Raum so schief hängen dass es im euklidischen wieder gerade erscheint.

Martin hat folgendes geschrieben:
Wahrscheinlich ist alles ganz einfach, aber das Rumgestochere nach der richtigen syntax macht einen ja ganz wuschig.

Da muss ich jetzt mal OT auch mal einen Brachialtipp ablassen: Grundsätzlich

Code:
A thing is usually privately-named.
A room is usually privately-named.

verwenden und das in der GerX-Doku lesen, damit lässt sich etwas sauberer in Grahams Küche arbeiten.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Mo, 11 März 2013 - 11:47  Antworten mit Zitat
Experte
Experte


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

Deinen Brachialtipp beherzige ich schon immer und verwende die einsprachige Methode, die Deutsch nur in blau (also in Texten) spricht. Die einzige Inkonsistenz sind say-Regeln, die manchmal deutsch (der, einen) und manchmal englisch sind. Die Doku habe ich auch schon ein, zwei Mal gelesen.

Obwohl bei mir alles usually privately-named is, überschreibt die Klassendefinition von one-num den Plural mit einem selbst von I7 gebildeten, nämlich "one-nums". Ich fände es besser, wenn privately-named auch für den Plural gälte und dann die Unterklasse keinen eigenen Plural bekommt, aber den der Basisklasse num hernähme.

Und mit dem Stochern nach der richtigen Syntax meine ich, dass man zwar ungefähr eine Ahnung hat, was man will, aber es nie richtig ausdrücken kann. In einem langen Zyklus Kompilieren - Doku lesen (optional) - Satz ändern findet man dann manchmal was. Das ist umso schlimmer, wenn man man länger, das heißt etwa eine Woche nicht, mit I7 gearbeitet hat.

Ich habe noch keine Syntax gefunden, wie ich schnell eine Eigenschaft an eine Gruppe von Objekten vergeben kann, quasi "In the courtyard are three broken vases.", nur halt für properties.

proc hat folgendes geschrieben:
I7 ist ziemlich einfach, wenn man nach Jahren der kontemplativen Versenkung einen Hauch der komplizierten Zusammenhänge zu erahnen beginnt.

Das finde ich nicht. I7 ist vielleicht auf den ersten Blick einfach oder besser: Es suggeriert eine Einfachheit, da es mit natürlicher Sprache arbeitet. Für den täglichen Gebrauch finde ich I7 absolut ungeeignet. Es ist sehr unstrukturiert und so unorthogonal. Was an einer Stelle geht, geht woanders wieder nicht, Tausende von Sonderregeln. Der ganze redundante Sums, der durch GerX dazukommt, macht es auch nicht leichter. (GerX kann allerdings nichts dafür.)

Ich bin mir im Übrigen auch nicht sicher, ob "A cup is in the Gazebo. A starting pistol is in the cup" (wenn man mal die automatische Definition des Vokabulars für ein englisches Spiel annimmt) ein Schritt in die richtige Richtung ist. Natürlich wird in zwei Sätzen einiges definiert. Aber diese Shorthand-Definitionen erzeugen schnell viele uninteressante Objekte. Wenn man diese Objekte durch zusätzliche Regeln interessant machen will, wird es schnell unübersichtlich und auch nicht wesentlich kürzer als I6.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
proc
BeitragVerfasst am: Mo, 11 März 2013 - 15:19  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 08.12.2009
Beiträge: 923
Wohnort: Berlin

Martin hat folgendes geschrieben:
Deinen Brachialtipp beherzige ich schon immer

Oops, der war nicht an dich gerichtet, das war missverständlich formuliert (bin halt zu lange an I7 gesessen)...

Martin hat folgendes geschrieben:
Und mit dem Stochern nach der richtigen Syntax meine ich, dass man zwar ungefähr eine Ahnung hat, was man will, aber es nie richtig ausdrücken kann. In einem langen Zyklus Kompilieren - Doku lesen (optional) - Satz ändern findet man dann manchmal was. Das ist umso schlimmer, wenn man man länger, das heißt etwa eine Woche nicht, mit I7 gearbeitet hat.

Ich habe noch keine Syntax gefunden, wie ich schnell eine Eigenschaft an eine Gruppe von Objekten vergeben kann, quasi "In the courtyard are three broken vases.", nur halt für properties.

Gerade darin ist die I7-Denkweise meiner Ansicht nach sehr flexibel, wenn auch syntaxtisch schwer durchdringbar. Funktionen sind keineswegs an die Datenstruktur gebunden, da kann etwas verwendet werden wie:

Code:
To do anything with a subset of (n - a number) objects of (name of kind of value K):
   let the objectlist be a list of objects;
   repeat with obj running through K:
      if n > 0:
         add obj to the objectlist;
         decrement n;
   (place it, eat it, do anything you want with objectlist).

In I6 wüsste ich außer einer Handvoll neuer Properties, Fallunterscheidung und der separaten Handhabung eines jeden Datentyps nicht, wie ich das angehen sollte.

Unabhängig davon steht sich die Syntax in der Tat selbst im Weg, mal heißt es "in", mal "by", mal "of", dann noch das üppige Vokabular (Danke!!!), erschwerend kommt die uneinheitliche Logik dazu wie "x = 1" ist okay, nicht aber "eating = 'iss [blah]'". Da stecken teilweise objektorientierte, teilweise prozedurale, teilweise regel- und relationsbasierte und teilweise schleierhafte Konzepte drinne und sind noch ordentlich miteinander vermengt (ähm, wie halt in der britischem Küche :o)
Die relationsbasierten Konzepte helfen aber, solche Gruppenzuweisungen zu lösen, und zwar für so ziemlich alle Datenstrukturen. Ich hatte das neulich mit Aktionen, die nett gruppiert werden können:

Code:
Extreme-actionliking something is myactioning.
Extreme-actionhating something is myactioning.
Extreme-actionkissing something is myactioning.
After myactioning: try attacking the noun; try killing the noun; try eating the noun; try kissing Dr. Kong.

Das ist schon eine tolle Sache, nur treten dann wieder strukturbedingte Spezialfälle auf, wofür man sich erst durch die Doku wühlen muss (die Fehlermeldungen sind leider selten hinreichend aussagekräftig). In diesem Fall die Unterscheidung Activity/Action, es geht halt für Before/Instead of/After, nicht aber für den Standard-Actionverlauf Check/Carry out/Report. C'est la vie #7 d'I.

Martin hat folgendes geschrieben:
Für den täglichen Gebrauch finde ich I7 absolut ungeeignet. Es ist sehr unstrukturiert und so unorthogonal. Was an einer Stelle geht, geht woanders wieder nicht, Tausende von Sonderregeln. Der ganze redundante Sums, der durch GerX dazukommt, macht es auch nicht leichter. (GerX kann allerdings nichts dafür.)

Graham ist Mathematiker, entsprechend versucht I7 ein eher Cantorsches Denken einzuführen, das mit seinen Regeln, Relationen, Aktivitäten, wasauchimmer recht elegant wirkt, mein Hirn und dessen Windungen aber in keiner Weise widerspiegelt. Auch das hatte ich kürzlich, da war ich einfach gezwungen mit eigenen Rulebooks zu arbeiten, was jemanden mit Perl- oder C-Denken (ähm, und Fortran, sorry, ich liebe Stacks) erstmal anwidert. 98% der Problemlösung bestand in Manualgrubbing, Gedichtinterpretation der Fehlerausgaben und Dauerneukompilierung, 1,99% im Bier holen und nach vielen Nächten war das Problem dann äußerst elegant in 20 Zeilen erschlagen. Schön, das bringt's aber auch nicht wirklich. Das liegt aber in erster Linie an mir und meinem Hirn, denke ich, in zweiter am syntaktischen I7-Chaos und am Ende dann doch am Stimmzettel, welcher Denkweise ich das Kreuzchen verpasse. Es ist wie es bei der nächsten Bundestagswahl sein wird, 10E-3% Präferenz entscheiden. Fakt ist jedenfalls, dass hinten immer I6 rauskommt, jede einzelne Struktur über die I6-Templates aufgebläht ist bis zum geht nicht mehr und man nicht auf einem 386er aus den 90ern arbeiten sollte. Da sich I7 auch üppig mit I6 vollpfropfen lässt, why not. Mir gefällt's jedenfalls 10E-3% besser als ANSI-C.
_________________
interactive fiction database
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
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