Änderungen

Diese History enthält die letzten Änderungen an T.A.G. und T.A.M. Da es öfters neue Versionen der beiden Programme gibt, lonht es sich, hier einmal vorbeizuschauen, was verändert oder hinzugefügt wurde.

* * *

06.03.2003

Beim Verwenden von Synonymen, die einen Satz kürzer werden lassen, wurden die letzten Wörter nicht gelöscht, so dass sie doppelt da waren.

Die Bedingung Licht_In ist üeberarbeitet worden: Es wurden bei anderen Räumen als aRaum nicht nur Lichtquellen im Raum sondern auch die beim (nicht anwesenden) Spieler berücksichtigt.

21.02.2003

Ein Bug bei der Textausgabe mit »mein/dein« und #person wurde gefixt. (Siehe »mein elbisches Schwert« in Karn.)

Beim Umleiten von Aufstehen in steigen_von wird aObj jetzt auf aSitz umgelenkt, so dass man in der VorAusf nur (steigen_von) abfangen muss, wenn der Spiele, sagen wir mal, an einen Stuhl gefesselt ist. (Dank an Christof Knodel fürs Aufspüren des Bugs.)

13.11.2002

Stilistische und orthografische Überarbeitung der dem Paket beiliegenden Dateien tag.std und normal.adv. Vielen Dank an Florian Edlbauer für die Anregungen.

29.10.2002

Ein neuer Befehl Spielzug erlaubt es, einen Spielzug ohne Eingriff des Spielers durchzuführen. Das heißt, alle Aktionen * und Nachher werden ausgeführt, mehr nicht.

Die Datei tag.std ist auf die neue Rechtschreibung angepasst worden und es wurden einige Fehler ausgebügelt.

16.10.2002

Die Übergabe von #obj an SichtUndRw funktionierte nicht.

04.10.2002

Ein weiterer Fehler in der T.A.M. verhinderte das Aufrufen von Verbparser, wenn der vorherige Zug mit Stop oder Bed abgebrochen wurde.

03.10.2002

Ein Fehler im T.A.G. wurde behoben, der Textblöcke von mehr als 8000 (32768) Bytes zuließ. (Dank an Andrea Weikert.)

Die Notation &Var wurde eingeführt, mit der man einen Wert immer als Zahl betrachtet, so dass sei &xRaum 1 oder so jetzt funktioniert. Das war für das Debug-Modul nötig und hilft auch, Felder mit anderen Datentypen als Zahlen zu belegen: Felddaten f 0 (&Hammer &Zange &Säge &Feile)

In der T.A.M. ist ein Fehler gefixt, der das Setzen einer Zahl im ObjParser verhindert hat.

11.08.2002

Objekte, die außer Sicht sind, werden nun nicht mehr in den Raumbeschreibungen erwähnt. (Das fiel mir beim Programmieren einer Lösung zum IF-Guru #1 auf.)

21.07.2002

Das Positionieren des Cursors nach dem Fortsetzungszeichen ist verbessert worden.

Es gibt drei neue Befehle: Tastendruck, das einfach ohne Textausgebe auf das Drücken von Space oder Return wartet und BSneu und BSoben, die den Bildschirm löschen und den Cursor unten oder oben auf dem Bildschirm platzieren.

19.07.2002

Ein Bug, bei dem Objekte, die an anderen Gegenständen waren, beim nehmen eine obskure Fehlermeldung erhielten, ist gefixt.

Die Ausgabe der IDs im Logfile ist nun möglich. (Dieses Feature war nach dem Umstellen auf Hashtables schweigend unter den Tisch gefallen.)

Die Zeit in der Statuszeile war korrupt. Jetzt nicht mehr.

10.07.2002

Mit dem behobenen Bug vom 07.07. hatte sich ein alter wieder eingeschlichen: Das Erkennen von Plural-Dativen funktionierte nicht mehr. Jetzt sind hoffentlich alle beide Bugs behoben. (Dank an Florian Edlbauer)

07.07.2002

Ein alter Bug ist behoben: Die Abfrage von »den« als Plural-Dativ und Maskulinum-Akkusativ. Nun können die Kuchen in Karn (die als kuchen m und p definiert sind) und Sachen wie »der/das Schild« korrekt interpretiert werden.

Ein Fehler bei den Raumbeschreibungen ist gefixt: Objekte mit Erst-Beschreibungen wurden erwähnt, wenn sie indirekt beim Spieler waren.

06.07.2002 Ein Bug beim Lesen von zahlen mit

LeseZahl und LeseNummer ist korrigiert worden. Danke an Florian Edlbauer fürs Finden und Melden.

28.02.2002

Ein Bug, der o, u, a am Ende von Zeilen in ö, ü, ä umgewandelt hat, wenn aus dem vorherigen Befehl noch ein e an der nächsten Stelle gespeichert war, ist behoben.

Die Objekte werden nun korrekt initlalisiert und sollten nun keine störenden Meldungen bei Start der T.A.M. mehr ergeben.

27.02.2002

Ein Bug beim Ausführen der Aktionen * hat diese immer wiederholt, wenn aus ihnen heraus geheZu oder eine andere Aktion aufgerufen wurde.

Bei zusammengesetzten Sätzen war die Ausgabe nicht richtig, wenn ein Fehler im zweiten Teil auftrat. (Dank an Jens Bojaryn für das Aufspüren und Isolieren beider Bugs.)

18.01.2002

Dative und Akkusative ohne Fallerkennung (Artikel und Adjektive) werden jetzt von T.A.M. richtig interpretiert.

ausziehen hatte bei aObj BeiMir, was zur Folge hatte, dass versucht wurde, aObj aufzuheben, wenn es nicht beim Spieler war. Das ist in T.A.G. geändert.

10.11.2001

Die Variablen uns Schlüsselwörter in T.A.G. werden nun mit einem Hashcode ermittelt, was das Generieren eines Adventures (theoretisch) schneller macht.

Ein Bug wurde gefixt, der negative Zahlen innerhalb runder Klammern nicht erkannt hat.

08.11.2001

Die Routine zum Aufteilen des Befehls ist neu geschrieben worden. In Fehlermeldungen werden nun Wörter so ausgegeben, wie sie der Spiele eingegeben hat. (Es gab bei Groß- und Kleinschreibung sowie umgewandelten Umlauten und ß unschöne Effekte.)

Die Entf-Taste funktioniert nun wie in Text-Editoren. (Das Zeichen unter dem Cursor wird gelöscht.)

29.10.2001

Bugfix beim Befehl GeheZu mit Raumvariablen

Bugfix bei der Berechnung des verbleibenden Platzes beim Ablegen und Aufnehmen von Gegenständen.

23.09.2001

Nach einem Redesign des Teils, der die Ausführungsblöcke interpretiert, ist die T.A.M. ein wenig vom 64K-Limit für Code in Turbo Pascal weggerückt.

Bugfix bei der Referenz auf Objekte ohne Substantiv (»der Blinde« oder »Welchen Ball?« – »den roten«)

Die Aktion PostMortem wird nun ganz am Ende eines Zuges abgearbeitet. Vorher, als sie einfach an der Stelle, an der der Spieler stirbt, aufgerufen wurde, gab es oft Komplikationen beim Neustarten.

25.07.2001

»ich« wird jetzt auch in der T.A.M. zu »Du« umgeleitet.

Die Pronomina werden jetzt auf einen Stapel gelegt, damit z.B. »sie« (pl) und »sie« (f) unterschieden werden können.

27.06.2001

Korrektur von Schleifen: Endlosschleife, wenn der Endwert 255 war.

Korrektur von eindimensionalen Feldern der Größe 256.

Die Bedingung (Objekt Klasse) berücksicht jetzt auch übergeordnete Klassen: Bei einem Objekt der Klasse Tier, die eine Unterklasse von Kreatur ist, sind (Objekt Tier) und (Objekt Kreatur) jetzt war. Vorher traf dies nur auf die erste Bedingung zu.

08.05.2001

Einige Bugs bei Feldern wurden behoben: Die Anweisung belege, die Höchstdimension 256 und eine automatische Vorbelegung mit Null. (Dank an Thomas Kühne.)

25.01.2001

Der Parser ist komplett neu organisiert worden: Satzzeichen werden jetzt als eigenständige Wörter behandelt. Bislang wurden sie einfach als White Space betrachtet. Folgendes gilt:

  • Mehrere Anweisungen müssen mit Punkt, Komma oder und voneiender getrennt werden.
  • In Aufzählungen müssen die Objekte mit Kommas oder mit und voneinander getrennt werden.
  • Wenn eine Person angesprochen werden soll, muß der Name der Person am Anfang des Satzes stehen, von der eigentlichen Anweisung durch ein Komma oder einen Doppelpunkt getrennt.

Das macht den Parser hoffentlich etwas klarer.

11.01.2001

T.A.G. hat es ins neue Millennium geschafft.

Wenn gestorben im Nachausführungsblock aufgerufen wurde, kam es zu eigenartigen Ergebnissen. Das ist (hoffentlich) gefixt.

Die Antworten beim Besteigen, sich Setzen usw. werden nun auf den Puffer geschrieben.

* * *

Ältere Änderungen stehen in der Datei tag.hst, die T.A.G. und T.A.M. beiliegt.