Ä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_Inist ü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
#personwurde gefixt. (Siehe »mein elbisches Schwert« in Karn.)Beim Umleiten von Aufstehen in
steigen_vonwirdaObjjetzt aufaSitzumgelenkt, so dass man in derVorAusfnur(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.stdundnormal.adv. Vielen Dank an Florian Edlbauer für die Anregungen.- 29.10.2002
Ein neuer Befehl
Spielzugerlaubt es, einen Spielzug ohne Eingriff des Spielers durchzuführen. Das heißt, alle Aktionen * undNachherwerden ausgeführt, mehr nicht.Die Datei
tag.stdist auf die neue Rechtschreibung angepasst worden und es wurden einige Fehler ausgebügelt.- 16.10.2002
Die Übergabe von
#objan SichtUndRw funktionierte nicht.- 04.10.2002
Ein weiterer Fehler in der T.A.M. verhinderte das Aufrufen von
Verbparser, wenn der vorherige Zug mitStopoderBedabgebrochen 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 dasssei &xRaum 1oder 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
ObjParserverhindert 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 undBSneuundBSoben, 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
kuchenm 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
LeseZahlundLeseNummerist 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.
ausziehenhatte bei aObjBeiMir, 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
GeheZumit RaumvariablenBugfix 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
PostMortemwird 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 KlasseTier, die eine Unterklasse vonKreaturist, 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
undvoneiender getrennt werden. - In Aufzählungen müssen die Objekte mit Kommas oder mit
undvoneinander 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.
- Mehrere Anweisungen müssen mit Punkt, Komma oder
- 11.01.2001
T.A.G. hat es ins neue Millennium geschafft.
Wenn
gestorbenim 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.