PROJEKT

64'er

DAS MAGAZIN FÜR COMPUTER-FANS ONLINE


Computer und Sport

64'er Ausgabe 4/April 1984, S. 56-62

Dieses Programm wurde zur Auswertung von Deutschen Mannschafts-Meisterschaften entwickelt. Denkbar ist aber auch, daß man es bei der Vereinsmeisterschaft im eigenen Ort einsetzt. Notwendig ist dabei nur der Commodore 64 mit Peripherie.

Meine Arbeit mit dem Computer begann im Juli 1982. Ich war in der 12. Klasse und besuchte einen Informatik-Grundkurs, Die dort erworbenen, jedoch relativ geringen Grundlagen der Basic-Programmierung führten durch eigene Versuche an Spielen und an einem NGO-Verwaltungsprogramm, im Teamwork, relativ schnell zu einer guten Kenntnis der Basic-Programmiersprache und teilweise auch schon zu Maschinensprachekenntnissen. Diese wurden durch den Kauf eines C 64 im April 1983 ausgebaut und bildeten so die Basis zur Erstellung sinnvoller Programme. Der Einsatz des Computers im Sport lag also nicht fern, zumal mein Vater Leichtathletiksportfeste organisiert. So war er es auch, der mich fragte, ob der Computer bei einem DMM-Wettkampf nicht gute Dienste leisten könnte. Die Programmidee war damit geboren.

Eine Idee, eine Herausforderung und der Commodore 64

Die nÄhere Problematik soll nun fÜr aLLe erlÄutert werden, die mit dem Ablauf von Leichtathletikwettkämpfen weniger vertraut sind. Das Kürzel DMM steht für Deutsche Mannschafts-Meisterschaften. Diese werden in verschiedenen Leistungsklassen und auf unterschiedlichen Ebenen durchgeführt. Bei dem Wettkampf, für den das Programm ursprünglich geschrieben wurde, handelte es sich um den Endkampf um die badische Mannschaftsmeisterschaft für Männer und Frauen in jeweils drei Klassen. Es waren Bezirksliga, Landesliga und Bundesliga vertreten. Diese drei Gruppen unterscheiden sich untereinander durch eine unterschiedliche Anzahl an Disziplinen, wobei die Disziplinen bei den Männern sich von denen bei den Frauen nochmals unterscheiden. (Man denke beispielsweise an die unterschiedlichen Gewichte beim Kugelstoßen etc.)

Ein MByte für das DLV-Punktebuch

Jede der Mannschaften deren Anzahl in den einzelnen Gruppen nochmals recht unterschiedlich ausfällt, kann nun pro Disziplin maximal drei Teilnehmer stellen. Die Ergebnisse, die von diesen erzielt werden, werden anhand eines DLV-Punktebuches in die entsprechenden Punktezahlen umgesetzt. Da diese Punkte leider recht wahllos und nicht durch irgendeine Formel bestimmbar sind, ist an eine Auswertung mit dem Computer an dieser Stelle noch nicht zu denken. Das DLV-Punktebuch enthält nämlich zirka 83000 unterschiedliche Leistungen und zugeordnete Punktezahlen. Der Speicheraufwand in Basic läge also schätzungsweise bei einem MByte, was den Speicherbereich des C 64 selbst mit angeschlossenen Floppy-Laufwerken erheblich übersteigt. Also mußte ich mir etwas anderes überlegen: Der Rechenvorgang, der, nachdem die Punkte festgestellt sind, vollzogen werden muß, ist jedoch sehr gut mit einem Computer zu realisieren. Die drei Teilergebnisse einer Mannschaft in einer Disziplin müssen sortiert werden. Die beiden besten Ergebnisse werden nun zum Gesamtergebnis hinzuaddiert. Dies ist wohl ein Vorgang, dessen Einfachheit besticht, der aber gleichzeitig die Frage aufwirft, wozu dann ein Programm benötigt wird. Die Antwort auf diese Frage ist recht einfach. Es geht um die Geschwindigkeit und die Zuverlässigkeit. Hinzu kommt noch die Möglichkeit einer schnellen Gegenkontrolle, da alle Einzelergebnisse gespeichert bleiben und schnell abrufbar sind. Das Wichtigste ist jedoch das schnelle Herstellen von Zwischenergebnissen, wozu im Wettkampfbüro keine Zeit vorhanden ist. Diese Zwischenergebnisse können nun ohne großen Aufwand, nur durch wenige Tastendrücke zu jedem beliebigen Zeitpunkt abgerufen werden.

Im Folgenden soll nun beschrieben werden, wie der Ablauf in der Praxis vor sich ging. Die Wettkampfkarten mit den Ergebnissen kamen ins Wettkampfbüro und dort wurden dann die entsprechenden Punkteergebnisse herausgesucht. Der Zettel mit den Punkteergebnissen kam zum Computer und die Ergebnisse wurden eingegeben. Der Computer wählte die beiden besten Ergebnisse einer Mannschaft aus und addierte sie zum Gesamtergebnis. War eine Disziplin einer Gruppe abgeschlossen, so wurde das Zwischenergebnis mit Uhrzeit ausgedruckt und dem Stadionsprecher weitergeleitet, um diesem immer die aktuellsten Informationen zu sichern. Danach ging eine Kopie der Zwischenergebnisse an das Wettkampfbüro zurück, das dann eine Vergleichsmöglichkeit hatte, wenn es später zu seinem handgerechneten Zwischenergebnis kam. Dies war immer erst wesentlich später der Fall, da die Ergebnisse immer noch in mehrere andere Listen übertragen werden mußten, bevor sie addiert wurden. Die Möglichkeiten einer schnellen Kontrolle aller Einzelergebnisse durch den Computer, ohne einen Berg von Wettkampfkarten durchsuchen zu müssen, erwies sich als äußerst praktisch bei der Fehlersuche. Die Fehler, die auftraten und durch das Zwischenergebnis des Computers aufgedeckt wurden, waren meist Schreib- oder Lesefehler, Übertragungsfehler von einer Liste auf die nächste oder schlichte Rechenfehler, die sich leicht einschleichen, wenn man in der Hektik eines Wettkampfbüros auch noch schnell per Kopf oder Taschenrechner rechnen soll.

Der Computer hilft Fehler vermeiden

So war die Fehlerquelle mit Hilfe des Computers schnell entdeckt und der Fehler wurde beseitigt. Ein Schritt zu einer besseren und fehlerfreien Ergebnisliste, die sich sehen lassen kann.

Das Programm selbst entstand in zirka fünfstündiger Arbeit an einem Sonntagnachmittag und wurde, nach seinem Einsatz, den praktischen Erfahrungen gemäß, die damit gemacht wurden, erweitert und verbessert, es gibt schließlich viele Dinge, auf die man rein theoretisch niemals kommt, die in der Praxis aber wünschenswert sind. Der Peripheriemangel, der zur Entstehungszeit des Programmes herrschte ist dafür verantwortlich, daß im ursprünglichen Programm die Datenspeicherung nicht gleich auf Diskette erfolgte. Diese Ergänzungen kamen erst später hinzu. Das hatte jedoch auch einen guten Nebeneffekt, nämlich den, daß das Programm mit praktisch allen Peripheriekonfigurationen sinnvoll arbeiten kann. Das beginnt bei Kassettenstation und Zentraleinheit und endet bei Zentraleinheit, Floppy und Drucker. Die einzelnen Bildschirmmasken nutzen die farblichen Möglichkeiten des C 64 zur übersichtlichen Darstellung der Daten. POKE-Befehle wurden weitgehend vermieden, um das Programm möglichst leicht auch auf andere Computer übertragen zu können. POKE-Befehle wurden nur zur Erzeugung der Hintergrundfarben und des Tones verwendet und können an diesen Stellen des Programmes durchaus entfernt werden. Auf die Verwendung von REM-Zeilen wurde verzichtet, da der durch sie verbrauchte, unnötige Speicherplatz das Programm verlangsamt und unnötig verlängert. Zusätzlich würde die verwendbare Datenmenge auch noch eingeschränkt.

Hauptmenü Gruppe
Bild 1. Hauptmenü. Rechts oben in der Ecke erscheint die Uhrzeit. Das Anwählen der einzelnen Unterprogramme erfolgt über Druck auf die entsprechende Zahlentaste. Bild 2. Untermenü. Die Gruppe 1 wurde angewählt. Oben erscheint die Liste der Mannschaften, darunter die anderen Programmöglichkeiten


Das Program ist im Menü-System aufgebaut, so daß es recht einfach benutzt werden kann. Die einzelnen Möglichkeiten, die der Benutzer jetzt hat sind meist alle auf dem Bildschirm dargestellt. Das Programm soll nun einmal von Anfang an theoretisch durchlaufen werden. Wird das Programm gestartet, so erfolgt als Erstes die Eingabe der Zeit. Wurde das Programm vorher bereits einmal gestartet, so kann einfach nur "RETURN" eingegeben werden. Die vorher eingegebene Zeit bleibt dann erhalten, da die interne Computeruhr, die ja ständig mitläuft, vom Programm aus benutzt wird. Die Eingabe der Zeit erfolgt im "HHMMSS"-Format. Das bedeutet, daß zum Beispiel 12 Uhr 23 und 15 Sekunden als 122315 eingegeben wird. Nach dieser Eingabe befindet man sich im Hauptmenü (Bild 1), das zunächst sechs gleichwertige Untermenüs anbietet, die den einzelnen Gruppen Landesliga, Bundesliga und Bezirksliga Männer bzw. Frauen zugeordnet sind. Diese Untermenüs sind alle auf dem gleichen Unterprogramm aufgebaut. Der Unterschied liegt nur in den Daten, also den Namen der Mannschaften, der Anzahl der Disziplinen und der Art der Disziplinen. Wird nun eines der Untermenüs (Bild 2), angewählt, so erscheint eine Liste der Mannschaften, mit der jeweils fortlaufenden Mannschaftsnummer. Das Untermenü bietet nun die Möglichkeit der Dateneingabe bei den einzelnen Mannschaften, der Kontrolle aller Einzelergebnisse einer Mannschaft, der Ausgabe der Zwischenergebnisse und des Rücksprunges in das Hauptmenü. Für den Aussprung zurück ins Hauptmenü gibt man "A" ein. Zu den Eingaben ist grundsätzlich noch folgendes zu sagen: Blinkt der Cursor, so muß nach der Eingabe "RETURN" gedrückt werden, ist er jedoch nicht zu sehen, so ist dies nicht notwendig.

Menütechnik sorgt für Übersichtlichkeit

Entscheidet man sich in diesem Untermenü für die Dateneingabe, so muß einfach die Nummer der Mannschaft eingegeben werden, bei der Daten eingegeben werden sollen. Darauf erscheint eine Liste der in dieser Gruppe vorhandenen Disziplinen (Bild 3), geordnet nach Lauf, Sprung und Wurf. Wird nun die Nummer der Disziplin eingegeben, so überprüft das Programm zunächst, ob diese Ergebnisse nicht vielleicht schon eingegeben wurden.

Erste Eingabe Einzelleistungen
Bild 3. Erste Eingabe. Die Disziplin muß eingegeben werden. Hier gelangt man hin, wenn man eine Mannschaft angewählt hat Bild 4. Nach Eingabe der Disziplin erfolgt die Eingabe der drei Einzelleistungen. In diesem Fall bei Mannschaft 1 der Gruppe 1


Sicherung gegen Fehleingabe ist ein Muß

Ist dies der Fall, so wird, um eine fehlerhafte Eingabe zu verhindern auf dem Bildschirm eine entsprechende Fehlermeldung ausgegeben. Diese wird von einem akustischen Signal begleitet, da man die Meldung auf dem Bildschirm leicht übersieht, wenn man sich auf die Tastatur konzentriert. Das Programm versichert sich nun, ob die Daten wirklich neu eingegeben werden sollen. Dies geschieht durch eine einfache Ja/Nein-Abfrage. So ist gewährleistet, daß versehentlich gemachte Eingaben auf einfachstem Wege immer wieder gelöscht werden können, daß auf der anderen Seite aber die bereits vorhandenen Daten geschützt sind. Gibt man nun die Punkteergebnisse ein (Bild 4) und drückt nur "RETURN", so nimmt das Programm als Punktezahl nur einfach eine Null an. Die Punkteergebnisse werden nun sortiert und auf dem Bildschirm übersichtlich ausgegeben. Die beiden besten Ergebnisse stehen oben und sind grün gefärbt, weil sie zum Gesamtergebnis addiert werden. Das dritte Ergebnis wird etwas darunter rot eingefärbt ausgegeben, da es nicht in die Wertung kommt.

Alle Ergebnisse werden zur Kontrolle gespeichert

Dieses Ergebnis wird jedoch trotzdem so wie die beiden anderen gespeichert, da es bei Rückfragen zur Kontrolle manchmal doch eine Rolle spielt. Ist die Dateneingabe abgeschlossen, kehrt man wieder in das Untermenü mit der Liste der Mannschaften zurück.

Wird in diesem Untermenü "Z" für Zwischenergebnisse eingegeben, so erscheint eine Liste der Mannschaften in Reihenfolge der von ihnen erzielten Punktezahlen. Ferner erscheint eine Liste der von ihnen bereits durchgeführten Disziplinen. Hier spielt nun auch die beim Start des Programmes eingegebene Zeit eine Rolle, da sie auf dem Ausdruck mit angegeben wird. Die Zeit, zu der ein bestimmtes Zwischenergebnis vorlag ist rein statistisch interessant und kann später zur Optimierung des Zeitplanes verwendet werden. Unter der Liste der Mannschaften wird noch angegeben wieviele Disziplinen bereits ausgeführt sind, wobei nur Disziplinen gezählt werden, die alle Mannschaften bereits durchgeführt haben. Diese Meldung ist nicht nur stur errechnet, das heißt, daß nicht etwa auf dem Bildschirm erscheint: "Stand nach 0 Disziplinen" oder "Stand nach 1 Disziplinen".

"Kleinigkeiten" werden beachtet

In diesen beiden Sonderfällen wird stattdessen "Noch keine Disziplin komplett" bzw. "Stand nach der ersten Disziplin" ausgegeben. Zurück ins Untermenü kommt man nun wenn eine beliebige Taste gedrückt wird. Soll die Liste vorher noch auf dem Drucker ausgegeben werden, so drückt man einfach "D". Nach dem Druckvorgang kommt man ebenfalls in das Untermenü mit der Liste der Mannschaften. Wird in diesem Untermenü "K" für Kontrolle gedrückt, so erfolgt der Zugriff auf die konkreten Daten wieder über die Vereinsnummer und die Nummer der Disziplin. Auf dem Bildschirm erscheinen dann Gruppe, Verein, Disziplin und die drei Ergebnisse. Das Programm wartet nun wieder auf einen Tastendruck. Wird entweder 1, 2 oder 3 gedrückt, so kann das entsprechende Ergebnis neu eingegeben werden. Bei anderen Tasten erfolgt ein Rücksprung ins Untermenü.

Soll korrigiert werden, so werden die alten Ergebnisse vom Gesamtergebnis subtrahiert. Das neue Ergebnis wird eingegeben, die Ergebnisse werden sortiert und auf dem Bildschirm ausgegeben. Die beiden besten Ergebnisse werden nun wieder zum Gesamtergebnis hinzuaddiert.

Korrekturen ohne weiteres möglich

Diese Untermenümöglichkeiten bestehen für alle sechs Gruppen. Ein Ausstieg aus dem gewählten Programmschritt ist meistens möglich, falls er einmal unbeabsichtigt aufgerufen wird. Die Eingaben werden, so wie das möglich ist, auf Korrektheit überprüft. Im Falle einer festgestellten Unkorrektheit wird der Cursor rot gefärbt und die Eingabe wird ignoriert.

Die weiteren Programmschritte, die vom Hauptprogramm aus angewählt werden können, sind Einlesen von Daten, Abspeichern von Daten und Programmende.

Alle Peripheriegeräte können angesprochen werden

Die Datenspeicherung kann sowohl auf Kassette als auch auf Diskette erfolgen. Die Möglichkeit einer solchen Speicherung trägt dazu bei, die Daten vor einem Stromausfall zu schützen und die Ergebnisse zu späteren Zeitpunkten wieder rekonstruieren zu können.

Um die Daten der Mannschaften zu ändern, muß zunächst die Variable A in Zeile 130 an die neue Gesamtanzahl der Mannschaften angepaßt werden. Die neuen Namen müssen in den DATA-Zeilen von 150 bis 220 geändert werden. Die dort vertretenen ".........." erklären sich dadurch, daß am Veranstaltungstag noch in letzter Minute bereits gemeldete Mannschaften ausfielen. Ihre Namen wurden dann einfach durch diese Striche ersetzt und ihre Ergebnisse wurden immer mit 0 eingegeben. Die Reihenfolge, in der die Mannschaften in den DATA-Zeilen stehen, entscheidet über die Reihenfolge der Mannschaftsnummern. Es ist hierbei darauf zu achten, daß Mannschaften, die in derselben Gruppe starten auch in der Reihenfolge der Nummern direkt nacheinander kommen. Die schließlich letzten Änderungen beziehen sich auf die Zeilen 1050, 1110, 1170, 1220 und 1350. In diesen Zeilen wird festgelegt, welche Mannschaften zu welcher Gruppe gehören und wieviele Disziplinen zu dieser Gruppe gehören. Die Anzahl der Disziplinen ist einfach dadurch zu ändern, daß man der Variable H einen anderen Wert zuweist. Die Namen selbst werden in den darauffolgenden Zeilen definiert, indem sie dem Feld der B$(x)-Variablen zugewiesen werden. Die höchstmögliche Anzahl an Disziplinen muß dann noch in Zeile 130 bei der Zuweisung zu der Variablen B geändert werden. In den oben genannten Zeilen wird z. B. in der Zeile 1050 durch die Zuweisung F=1 und G=5 festgelegt, daß die Mannschaften 1 bis 5 einschließlich zur Bundesliga Männer gehören. In der Zeile 1110 bedeutet F=6:G=10, daß die Mannschaften 6 bis 10 zur Landesliga Männer gehören. Dies gilt ähnlich für die übrigen, oben genannten Zeilen. Die Reihenfolge der Gruppen ist hierbei die gleiche wie die im Hauptmenü verwendete.

(Volker Ritzhaupt)

© Originalartikel: WEKA Verlagsgesellschaft, 64'er
© HTML-Veröffentlichung: Projekt 64'er online
Erfassung des Artikels: Sascha Hoogen (8-Bit-Nirvana)



8-Bit-Nirvana | 8-Bit-Forum | 8-Bit-Flohmarkt | Impressum