GOLF/XY

Version 3.28 (1999-08-01)

Benutzerhandbuch

Michael Schröpl
Varusstraße 5
65187 Wiesbaden
E-Mail-Adressemichael.schroepl@gmx.de
http://www.schroepl.net/

 

  1. Verwaltungskram
  2. Historisches
  3. Die Turnierdatei
  4. Die Spielerdatei
  1. Die Auswertungsdatei
  2. Programmablauf
  3. Initialisierung einer Partie
  4. Fehlerhafte Daten in einer Partiedatei

1. Verwaltungskram

Das Auswerteprogramm GOLF wurde im Sommer 1986 anläßlich der weltweit ersten Golf-Partie BALLESTEROS im Amtsblatt für den persönlichen Gebrauch des Autors geschrieben.
Inzwischen gibt es aber (mindestens) zwei andere Spielleiter, die das Programm ebenfalls zur Auswertung verwenden, und es ist die erklärte Absicht des Autors, daß möglichst viele Golf-Partien mit diesem Programm ausgewertet werden.

GOLF ist Freeware. Jeder kann es frei und kostenlos kopieren und weitergeben. Je mehr, desto besser!
Allfällige Garantien werden nicht gegeben. Ich bin für nix verantwortlich! Ich verwende das Programm allerdings selbst für meine Auswertungen (BALLESTEROS läuft nach wie vor, nun schon seit über 200 Auswertungen!), werde also bestimmt etwas gegen unerwünschte Effekte unternehmen.

Ich werde GOLF bei Bedarf selbst weiterentwickeln und stehe in Notfällen für Support - bevorzugt per E-Mail-AdresseE-Mail - zur Verfügung.
Werden mir sinnvolle Programmerweiterungen vorgeschlagen, dann dürften sich diese eines Tages in neuen Versionen niederschlagen.

2. Historisches

GOLF wurde Mitte der 80er Jahre auf einem Siemens PC-X unter SINIX in Poly-Pascal entwickelt, später auf den Atari ST portiert (zunächst in ST-Pascal plus), und schließlich im Turbo-Pascal-kompatiblen Dialekt Maxon-Pascal in Module zerlegt und total überarbeitet.

Systemspezifische Funktionen wurden spärlich verwendet und entsprechend eingeschalt; abgesehen vom unit-Konzept und ein bißchen Bildschirmsteuerung ist fast alles Standard-Pascal (und damit systemunabhängig).

Das Programm wurde in der Version 3.16 auf PC portiert. Da der Quelltext zwischen Maxon-Pascal V1.6 und Turbo-Pascal V7.0 identisch gehalten werden kann, könnte jede neue Version auf beiden System zur Verfügung stehen (wenn ich noch einen Atari hätte).
Sollte es weitere Rechner geben, die über einen hinreichend kompatiblen Pascal-Compiler verfügen, dann würde ich eine Portierung auf diese Systeme unterstützen.

3. Die Turnierdatei

Für jede Partie wird eine Turnierdatei mit dem Namen

<partiename>.TUR

benötigt. Diese Datei enthält folgende Informationen:

1. Zeile: Name des Spielleiters (Zeichenkette)
2. Zeile: Nr. des nächsten auszuwertenden Turniers (Zahl)
3.-8. Zeile: Basiswerte der Bahnen des nächsten Turniers (Zahl)
9. Zeile: Anzahl der NMR, die automatisch in Sparzüge umgewandelt werden (Zahl)
10. Zeile: Anzahl der maximal ansparbaren Wechsel (Zahl)
11. Zeile: Anzahl der jedem Spieler pro Zug automatisch zugeteilten Wechsel (Zahl)
12. Zeile: Anzeige der Erwartungswerte in der Auswertung (Schalter)
13. Zeile: Anzeige der Schlägerwerte in der Auswertung (Schalter)
14. Zeile: Berechnung des nach EW besten Einfachwechsels.
Diese Funktion erlaubt dem Spielleiter, die Qualität des vorliegenden Spielzuges einschätzen zu können, hat ansonsten aber keinen Einfluß auf die Auswertung.
(Schalter)
15. Zeile: Automatische Durchführung von optimalen Einfachwechseln.
Das ist eine reine Spielerei für den GM; bei einer normalen Auswertung muß dieser Schalter ausgeschaltet (auf den Wert 'N' gesetzt) sein.
(Schalter)

Hinter den Werten wird jeweils ein entsprechender Kommentar in der Datei abgespeichert, der beim Einlesen der Datei ignoriert wird.

4. Die Spielerdatei

Für jede Partie wird eine Turnierdatei mit dem Namen

<partiename>.SPI

benötigt. Diese Datei enthält folgende Informationen:

1. Zeile: Anzahl der an der Partie teilnehmenden Spieler (Zahl)
2. Zeile: Trennzeile (wird überlesen)
ab 3. Zeile: Spielerbeschreibungen

Jede Spielerbeschreibung besteht aus den folgenden 7 Zeilen:

1. Zeile: Name des Spielers (Zeichenkette)
2. Zeile: Aktueller Schlägersatz des Spielers (4 Zahlen)
3. Zeile: Anzahl der von diesem Spieler gesparten Schlägerwechsel (Zahl)
4. Zeile: Anzahl der aufeinanderfolgenden NMRs dieses Spielers (Zahl)
5.-6. Zeile: Plazierungen des Spielers in den letzten 10 Turnieren (jeweils 10 Zahlen)
7. Zeile: Trennzeile (wird überlesen)

Die Plazierungen der letzten 10 Turniere sind in zeitlicher Reihenfolge abgelegt (das letzte Turnier also zuletzt). Zu jeder Plazierung wird in der oberen Zeile die beste, in der unteren Zeile die schlechteste von ggf. mehreren geteilten Plätzen des Spielers in diesem Turnier gespeichert. Aus diesen beiden Werten werden die Ranglistenpunkte des Spielers für das Turnier berechnet, da die entsprechenden Punktzahlen zwischen gleich plazierten Spielern gemittelt werden müssen.

5. Die Auswertungsdatei

Nach dem Programmlauf werden die Ergebnisse in Form einer druckfertigen Auswertung in eine Datei mit dem Namen

<partiename>.AUS

gespeichert.

Je nach Einstellung der Programmparameter (siehe unten) sind die Zeilen etwa 80-100 Zeichen lang. Die Auswertung ist also ggf. mit einem relativ kleinen Zeichenabstand (bzw. Zeichensatz) auszudrucken.

Seit Version 3.24 wird in die Datei

<partiename>.HTM

zusätzlich eine in HTML vollständig formatierte Auswertung ausgegeben.

6. Programmablauf

Nach dem Start des Programms ist zunächst der Name der auszuwertenden Partie einzugeben.
Dieser Name wird intern auf 8 Zeichen gekürzt und für die Bildung der Namen für alle Partiedateien verwendet. (In der Auswertungsdatei erscheint aber dennoch der volle Partiename.)

Ist dagegen bereits eine Partie vorhanden, dann fordert das Programm die Eingabe der Züge aller bereits aktiven Spieler (in der Reihenfolge ihrer Plazierung in der Rangliste - daher ist es sinnvoll, die Züge vorher entsprechend zu sortieren!) an und bietet anschließend die Eingabe der Daten von Einsteigern in die Partie an.

Alle Züge werden sofort ausgewertet. Abschließend werden das Turnierergebnis und die neue Rangliste angezeigt und die Auswertung in die beiden Auswertungsdateien gespeichert.

Erst nach Abschluß der Auswertung wird der Inhalt der beiden Partiedateien wieder abgespeichert. Hat der Spielleiter während der Auswertung einen gravierenden Fehler bemerkt, dann kann er das Programm (z. B. durch die Eingabe der Tastenkombination 'Control' + 'c') jederzeit während einer Ein- oder Ausgabe abbrechen und diese Auswertung komplett wiederholen. Das Programm legt daher auch NICHT automatisch eine Sicherheitskopie der beiden Partiedateien an.
Der Control-c-Abbruch funktioniert NICHT in der DOS-Version (das verhindert das Borland-Pascal-Laufzeitsystem irgendwie). Ich empfehle, das Programm in einer DOS-Box unter Windows laufen zu lassen, die man problemlos durch Schließen des Fensters abbrechen kann.

7. Initialisierung einer Partie

In der Turnierdatei sind mehrere Szenario-Parameter (Zahlen bzw. Schalterwerte) enthalten. Das normale Vorgehen beim Start einer Partie ist also,

  1. zunächst die Partiedateien anzulegen und
  2. anschließend (mit einem normalen ASCII-Editor) die Werte der Szenario-Parameter in der Turnierdatei nach Wunsch einzustellen.

Bei der Erstellung einer neuen Partie haben alle Parameter Standardwerte, wie sie für die Golf-Partie im Amtsblatt verwendet werden. Bei der Beschreibung der Parameter sind auch die Werte angegeben, wie sie in den OpenGolf-Partien im Rhein-Neckar-Zine und Dinxda verwendet werden; neben diesen beiden Hauptvarianten sind aber auch andere Regelversionen, insbesondere bezüglich der Freigabe von Informationen in der Auswertung, denkbar.

Die Parameter haben im einzelnen folgende Auswirkungen:

  1. Anzahl der in Sparzüge umgewandelten NMRs
    Dieser Wert gibt an, wieviele NMRs eines Spielers in Folge maximal dazu führen, daß für diesen Spieler automatisch ein Sparzug durchgeführt wird. Dabei nimmt der Spieler mit seinem aktuellen Schlägersatz an der Partie teil. Wird mit Wechselkontingent gespielt, dann erhält der Spieler die übliche Anzahl an Wechseln gutgeschrieben; wird ohne Wechselkontingent gespielt, dann erhält der Spieler natürlich keine Wechselmöglichkeiten zugeteilt, nimmt aber dennoch mit seinem aktuellen Schlägersatz am Turnier teil.
  2. Anzahl der maximal ansparbaren Wechsel
    Dieser Wert gibt an, wieviele Wechselmöglichkeiten ein Spieler maximal ansparen kann. Überschreitet das Kontingent an Wechselmöglichkeiten diesen Wert, dann wird die Anzahl an Wechseln des Spielers auf dieses Maximum reduziert; wird ohne Wechselkontingent gespielt, dann hat dieser Parameter keine Wirkung.
  3. Anzahl der pro Turnier zugeteilten Wechselmöglichkeiten
    Dieser Wert gibt an, wieviele Wechselmöglichkeiten dem Kontingent eines jeden Spielers vor jedem Turnier gutgeschrieben werden. Hat dieser Parameter den Wert 0, dann ist die Verwaltung der Wechselkontingente ausgeschaltet; in diesem Falle sind für jeden Spieler, der einen Zug abgegeben hat, alle vier Schlägerwerte neu einzugeben (dies ist die wesentliche Eigenständigkeit von OpenGolf gegenüber Golf). Die in den Spielerdaten enthaltene Komponente, die die Anzahl der gesparten Wechselmöglichkeiten enthält, wird in diesem Falle nicht ausgewertet.
  4. Anzeige der Erwartungswerte in der Auswertung
    Ist dieser Parameter eingeschaltet, dann wird in der Auswertungsdatei eine zusätzliche Spalte ausgegeben, in der für jeden Spieler der mit seinem Schlägersatz im aktuellen Turnier erreichte Erwartungswert angezeigt wird. Diese liefert allerdings sehr konkrete Informationen über den Schlägersatz, den man aus ihnen ggf. exakt ausrechnen kann. Also Vorsicht bei der Veröffentlichung, falls nicht auch die Schlägerwerte veröffentlicht werden sollen.
    Unabhängig davon wird hinter der Turnierplazierung (nach dieser sind die Spieler innerhalb des Turniers sortiert) in jedem Fall die Plazierung ausgegeben, die der Spieler nach seinem Erwartungswert erreicht hätte.
  5. Anzeige der Schlägerwerte in der Auswertung
    Ist dieser Parameter eingeschaltet, dann wird in der Auswertungsdatei eine zusätzliche Spalte ausgegeben, in der für jeden Spieler dessen aktueller Schlägersatz angezeigt wird (auch dies ist bei OpenGolf üblich, bei Golf dagegen nicht).
  6. Berechnung des nach EW besten Einfachwechsels
    Ist dieser Parameter eingeschaltet, dann wird während der Eingabe eines Zuges eine Routine aufgerufen, die alle möglichen Wechsel eines der vier Schläger ausprobiert und den Einfachwechsel mit dem besten Erwartungswert auf dem Bildschirm anzeigt.
    Um dem Spielleiter den Ablauf dieser Operation zu verdeutlichen, wird für jeden der vier Schläger eine Zeile auf dem Bildschirm angezeigt, in der für je 5 Versuche ein Zeichen ausgegeben wird. Ist dies das das Zeichen '*', dann führte mindestens einer der entsprechenden 5 Versuche zu einer Verbesserung gegenüber dem zuvor gefundenen besten Erwartungswert; wird das Zeichen '.' angezeigt, dann wurde der bisherige Bestwert nicht unterboten. Der jeweils beste erreichte Erwartungswert wird zudem rechts oben auf dem Bildschirm angezeigt.
  7. Automatische Durchführung von optimalen Einfachwechseln
    Ist dieser Parameter eingeschaltet, dann werden einige andere Einstellungen des Programms ignoriert und ein gesamtes Turnier ohne Zugeingabedialog automatisch ausgewertet. Für jeden Spieler wird dabei der nach Erwartungswert beste Einfachwechsel durchgeführt. Dies ist für die Auswertung eines normalen Turniers natürlich nicht sinnvoll. (Die Funktion wurde lediglich eingebaut, um das grundsätzliche Potential von Schlägersätzen untersuchen zu können.)

8. Fehlerhafte Daten in einer Partiedatei

Will man die Werte von Parametern einer (ggf. bereits laufenden) Partie ändern, kann es nicht schaden, zuvor eine Sicherheitskopie der bisherigen Partiedateien anzulegen. (Die vorliegende Anleitung wird niemals alle denkbaren Bedienungsfehler verhindern können.)
Unabhängig davon ist die Erstellung von Sicherheitskopien ohnehin immer anzuraten, um bei einem technischen Defekt die Fortsetzung der Partie nicht zu gefährden.

Sollte das Programm beim Lesen einer Spieler- bzw. Turnierdatei ein fehlerhaftes Datenformat antreffen (z. B. einen Schalterwert statt einem Zahlenwert), dann wird es in den meisten Fällen ohne besondere Meldung abstürzen, da elementare Einleseroutinen des PascalL-Laufzeitsystems verwendet wurden. (Wenn es die schon gibt, wieso das Rad - wenngleich stabiler - nochmal erfinden?)
Bei einem Absturz wird allerdings kein weiterer Schaden angerichtet, da die Dateien erst nach Abschluß einer kompletten Auswertung abgespeichert werden.