KAPDIP/XY: Benutzerhandbuch

Version 1.72 (2002-08-31)

1. Einleitung

1.1. Allgemeines

Das Auswerteprogramm KAPDIP dient zur Auswertung von beliebigen Börsenpartien.

Entworfen wurde das Programm zur Auswertung für Kapitalisten-Diplomacy; die variabel gehaltenen Möglichkeiten zur Spezifikation erlauben jedoch auch andere Partien als "Objekt" der Börse.

1.2. Verwendete Dateien

Für jede Partie ist eine Datei anzulegen, die sämtliche Partiedaten enthält. Diese Datei muß den Namen <name>.DAT haben. Mit dem Programm werden mehrere Beispiel-Partiedateien mitgeliefert. Der Teil <name> ist nach dem Aufruf von KAP_DIP.TOS (ATARI ST) bzw. KAP_DIP.EXE (PC) im Programm-Dialog anzugeben.
Die jeweilige Auswertung wird in die Datei <name>.AUS geschrieben.

2. Besonderheiten beim Benutzer-Dialog

2.1. Die Funktion JAODERNEIN

Mit einer Frage, die mit dem Text ('j'/'n') endet, wird der Benutzer aufgefordert, eine der Tasten 'j', 'J', 'n' oder 'N' zu drücken. Jede andere Art der Eingabe wird ignoriert.

2.2. Die Funktion READ_LONG_INTEGER

Alle Währungsbeträge werden mit dieser Funktion vom Bildschirm eingegeben.
Sie erhält bei ihrem Aufruf als Parameter ein Intervall, innerhalb dessen sie eine Eingabe als gültig akzeptiert. Zahlenwerte außerhalb dieses Intervalls können nicht eingegeben werden - ein entsprechender Tastendruck bleibt ohne Wirkung.

Eine Zahleneingabe kann mit einem Vorzeichen '+' oder '-' beginnen und besteht ansonsten aus den Ziffern '0' bis '9'. Beendet wird die Eingabe mit der Taste RETURN bzw. ENTER. Eingabefehler können durch die Verwendung der Taste BACKSPACE ziffernweise korrigiert werden; mit der Taste ESCAPE kann eine eingegebene Zahl komplett gelöscht werden.

Außerdem gibt es für die in Kapitalisten-Diplomacy häufig auftretende Option "maximaler Verkauf" (-500 Währungeinheiten) eine schnelle Sondereingabeform: Die Taste '*' hat die gewünschte Bedeutung. Falls der Spieler weniger als 500 Währungseinheiten der vorliegenden Währung besitzt, wird die Höhe des Verkaufs implizit (ohne zusätzliche Meldung) angepaßt. Die Taste '/' erzeugt die Eingabe '-499' (die jedoch nicht automatisch reduziert wird).

Wurde ein Zeichen akzeptiert, dann wird es auf dem Bildschirm angezeigt. Achtung: Ungültige Tasten werden ohne Meldung zurückgewiesen! Nach jedem Zeichen wird geprüft, ob ein Wert innerhalb des gültigen Intervalls entstehen kann.

Beispiel:
Bei einem Börsenzug kann die Eingabe '-51' ein gültiger Wert sein - jede weitere Taste jedoch (außer BACKSPACE bzw. ESCAPE) wird zurückgewiesen.
Der Benutzer sollte also aufpassen, daß er bei der Eingabe ungültiger Werte auf den Fehlererkennungsmechanismus richtig reagiert. (Im Zweifelsfalle möglichst oft die Taste '*' verwenden - das geht sowieso schneller.)

3. Die Partiedatei

3.1. Grundsätzliches

KAPDIP besitzt keine Setup-Komponente, mit der der Benutzer ein Szenario im Dialog aufbauen kann. Stattdessen ist die Partiedatei eine normale, mit jedem ASCII-Editor zu verarbeitende Textdatei.

Mit dem Programm KAPDIP werden mehrere Beispielsdateien mitgeliefert, die als Ausgangspunkt für ein Partieszenario verwendet werden können. Ein manueller Eingriff in eine solche Datei (per Editor) ist jedoch unerläßlich, um die Spieler mit ihren Startwerten einzutragen.

3.2. Struktur der Datei

Die Partiedatei ist in mehrere Abschnitte eingeteilt, die jeweils durch eine Zeile mit einer trennenden Linie gekennzeichnet sind. Diese Zeilenstruktur darf auf keinen Fall verändert werden, da das Programm exakt diese Struktur erwartet und andernfalls abstürzt.

Eine komplette Syntaxanalyse der Partiedatei vorzunehmen halte ich für kaum realisierbaren Luxus; wer trotz der ausgiebigen Dokumentation etwas falsch gemacht hat, wird den Fehler hoffentlich schnell finden und beseitigen können.

3.3. Typen von Datenzeilen

Innerhalb der Partiedatei können drei verschiedene Typen von Zeilen auftreten, die unterschiedliche Funktionen besitzen:

  1. Zahlenwerte (Integer).
    Jeder Zahlenwert wird gefolgt von einem Kommentar, der die Bedeutung dieses Zahlenwertes erläutert. Die konkreten Werte dürfen vom Programmbenutzer angepaßt werden; eine Änderung des Kommentars ist nicht sinnvoll, da dieser Kommentar vom Programm beim Abspeichern der Daten automatisch erzeugt wird.
  2. Zeichenketten (String).
    Diese Werte können nicht kommentiert werden, da das PASCAL-Laufzeitsystem Strings aus Dateien nur als komplette Zeilen einlesen kann.
    Kein String sollte länger als 80 Zeichen sein (das ist die Länge der programminternen String-Variablen, der Rest würde abgeschnitten und vergessen); für jeden String-Wert gelten darüberhinaus noch spezielle Einschränkungen (siehe unten).
  3. Trennzeilen (Separator).
    Diese Zeilen bestehen aus der Zeichenkette '*---...---*'. Für Separatoren gilt dasselbe wie für Kommentare von Zahlenwerten: Sie werden beim Abspeichern der Partiedaten vom Programm automatisch erzeugt.
    Separatoren dienen zur Erhöhung der Lesbarkeit der Partiedatei. Sie dürfen aber auf keinen Fall entfernt oder an anderen Stellen eingefügt werden! Das Programm erwartet unbedingt eine bestimmte Struktur von Daten-Zeilen und Separatoren.

3.3. Inhalt der einzelnen Zeilen

3.3.1. Basisdaten und Szenario

1. Abschnitt:
2. Abschnitt:
3. Abschnitt:
4. Abschnitt:
5. Abschnitt:

3.3.2. Beschreibungen von Länderdaten

1. Abschnitt:

Nun müssen genau so viele Abschnitte folgen, wie im 1. Abschnitt durch den entsprechenden Wert verlangt werden.

Weitere Abschnitte:

Jeder folgende Abschnitt hat folgendes Aussehen:

3.3.3. Beschreibung von Spielerdaten

1. Abschnitt:

Nun müssen genau so viele Abschnitte folgen, wie im 1. Abschnitt durch den entsprechenden Wert verlangt werden.

Weitere Abschnitte:

Jeder folgende Abschnitt hat folgendes Aussehen:

3.4. Anleitung zur Bearbeitung der Partiedatei

Unbedingt erforderlich ist die Eintragung der Spielerdaten. Am einfachsten ist es, den mitgelieferten Spieler "Pseudonym" an die Startbedingungen des Szenarios anzupassen, ihn anschließend per Editor als Block zu markieren (das sollte jeder Editor können) und ihn hinreichend oft zu kopieren. Anschließend können die einzelnen Pseudonyme eingetragen werden. Außerdem muß unbedingt die Anzahl der Spieler angepaßt werden; sollte dieser Wert zu klein sein, dann werden nachfolgende Spielerdaten nicht gelesen - und auch nicht wieder mit abgespeichert!

Falls kein Standard-Szenario gespielt werden soll, sind ggf. auch die Länderdaten anzupassen. Hier gilt dasselbe wie bei den Spielern: Am besten ein "Muster"-Land erzeugen und hinreichend oft kopieren. Nicht vergessen, die Anzahl anzupassen - und die Anzahl der Länder steckt auch im Spielerformat mit drin ...

Die Basisdaten schließlich sind am einfachsten anzupassen: Hier müssen lediglich Werte ausgetauscht werden. Es sei denn, es soll eine neue Struktur der Jahreszeiten konstruiert werden; das Verfahren gleicht den bereits beschriebenen.

Noch einmal zur Warnung: Das Programm interpretiert die Dateistruktur in genau der beschriebenen Weise! Stimmt etwas nicht, dann versucht das Programm dennoch, Daten zu lesen. Bei Strings wird dann Unfug gelesen (das macht noch nichts) - bei Integer-Leseversuchen an einer Stelle, an der keine Zahl steht, stürzt das Programm jedoch ab.

Eine unerläßliche Sicherheitsmaßnahme ist auf jeden Fall die Anfertigung einer Kopie der Partiedatei, bevor man darin herumfummelt: Der Vergleich einer korrekten mit einer defekten Datei ist per Editor oft einfacher als die explizite Suche nach der fehlerhaften Stelle.

Während der Partie sind Eingriffe in die Partiedatei nicht erforderlich; der GM kann aber durchaus ein Land, das 'ex'-gegangen ist, aus der Partiedatei entfernen (wenn er alle anderen Werte dann entsprechend anpaßt), um die zugehörige Währungsspalte aus der Auswertungstabelle zu entfernen.

3.5. Sonstige Einschränkungen durch das Programm

3.5.1. Höhe von Zahlenwerten

Die Anzahl der Währungseinheiten pro Spieler und Währung ist auf ca. 2 Milliarden, die Geldmenge pro Spieler auf ca. 200 Millionen Kujambel begrenzt. (Diese Beträge sollten normalerweise nicht erreicht werden.)

3.5.2. Datei-Basisname

Der Basisname der Partiedatei kann aus höchstens 8 Zeichen bestehen (Einschränkung des Betriebssystems TOS bzw. DOS).
Man kann einen längeren Partienamen verwenden; das Programm verwendet dann die ersten 8 Zeichen des Partienamens zur Bildung des Dateinamens.