|
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 - zur Verfügung.
Werden mir sinnvolle Programmerweiterungen vorgeschlagen, dann dürften sich diese eines Tages in neuen Versionen niederschlagen.
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.
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.
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.
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.
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.
In der Turnierdatei sind mehrere Szenario-Parameter (Zahlen bzw. Schalterwerte) enthalten. Das normale Vorgehen beim Start einer Partie ist also,
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:
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.