Ohne Organisation kein Tor
Ohne entsprechenden Verwaltungsaufwand findet auch in der untersten Liga kein Fußballspiel statt. Dieses Programm ist vor allem für die vielen ehrenamtlichen Helfer geschrieben, aber auch jeder Sportfan kann es sinnvoll einsetzen um zu sehen, wo »seine« Mannschaft steht.
In der ersten oder zweiten Bundesliga macht eigentlich nur das Wetter den Kickern zu schaffen. Entweder spielen sie im Regen, Schnee oder Nebel .. oder das Match wird nachgeholt. In diesen Klassen eine Tabelle aufzustellen ist einfach. Schwieriger wird es schon in den unteren Ligen und im Jugendbereich: Mannschaften werden plötzlich nachgemeldet oder zurückgezogen. Nachholspiele sind an der Tagesordnung. Mit Papier und Bleistift oder einem simplen Tabellenprogramm ist es hier nicht getan. Der ehrenamtliche Fußball-Funktionär Franz-Josef Heuser aus Aachen-Haaren schrieb schließlich das Programm »Ligatab«, das genau auf diese Problematik zugeschnitten ist. »Ich habe bewußt kein Programm geschrieben, um mit dem C 64 schneller zu sein, als die EDV-Anlagen der Fernsehanstalten. Mir ging es darum, den vielen ehrenamtlichen Helfern Zeit einzusparen«, erklärt der 34jährige Fußballfan. Eine Übertragung der Ligaverwaltung auf andere Sportarten ist nur dann sinnvoll, wenn die Tabellenplätze nach den gleichen Kriterien bewertet werden. Also: Pluspunkte, Minuspunkte, Tordifferenz, geschossene Tore, Gegentore. Auf alle Fälle sollten Sie die Anleitung beachten. Sie sparen später mit Sicherheit viel Zeit.
(rg)Compiler: | Astro-Compiler |
Autostart: | Autostart-Maker aus der 64’er, Juli 1984 |
Hardware: | C 64; Floppy 1541; Drucker MPS 801 |
Speicherplatz: | in compilierter Form und mit Autostart, 19450 Byte |
Grenzen: |
|
Autor: | Heuser, Franz-Josef In den Atzenbenden 74 5100 Aachen-Haaren |
»Ligatab«, die besondere Sportliga-Verwaltung
Zu einem guten Programm benötigt man eine gute Beschreibung. Fast ein Handbuch ist es bei dem Programm »Ligatab«.
Im nachfolgenden wird nur auf die compilierte und mit Autostart versehene Form eingegangen. Die Original-Version in Standard-Basic des C 64 ist für die Anwendung zu langsam und aus Speicherplatzgründen nur mit bis zu 6 Ligen einsetzbar. Auf der Diskette zu dieser Ausgabe der 64’er ist sowohl die Basic-Version, als auch die compilierte Version des Programms »Ligatab« enthalten. Floppy und Drucker müssen während der Arbeit mit »Ligatab« eingeschaltet bleiben. Das Programm wird von Diskette geladen mit: LOAD "c/ligatab b1/a",8,1.
Nach kurzer Zeit wird der Bildschirm gelöscht und nach dem Ladevorgang sehen Sie das Titelbild. Hier geben Sie das Datum ein, das in erster Linie für die Druckerausgabe benötigt wird. Eingabeform: TT.MM.JJJJ (08.08.1985).
Nach korrekter Eingabe mit abschließendem RETURN erklingt, falls Sie die Lautstärke richtig eingestellt haben, ein Ton. Dieser Ton erklingt immer dann, wenn das Programm eine Eingabe von Ihnen erwartet, ohne daß der blinkende Cursor auf dem Bildschirm zu sehen ist.
Im unteren Balken verlangt das Programm eine Eingabebestätigung. Antworten Sie mit »N« für Nein, wird der Bildschirm gelöscht und das Titelbild erscheint erneut. Antworten Sie mit »J« für Ja, erscheint nach kurzer Zeit das Hauptmenü. Das Hauptmenü ist in vier Auswahlgruppen unterteilt.
Bildschirmausgabe | Auswahl 1,2,3 |
Druckerausgabe | Auswahl 4,5,6 |
Diskettenoperationen | Auswahl 7,8 |
Neue Liga/Programmende | Auswahl 9 |
Wenn Sie das erste Mal mit diesem Programm arbeiten, sollten Sie zuerst »Tips zur Vorbereitung« genau durchlesen. Des weiteren empfiehlt es sich, Ihre erste Liga als »Testliga« anzulegen, um die Möglichkeiten des Programms besser kennenzulernen und auszutesten.
Erste Sportliga anlegen
Wie bei der Datenverwaltung ist die Ersteingabe auch in diesem Programm der arbeitsintensivste und wichtigste Teil. Deshalb sollten Sie an dieser Stelle ganz besonders sorgfältig arbeiten und auf mögliche Fehler achten.
Die Basis Ihrer Sportliga sind die Mannschaften. Das Programm benötigt zuerst die Namen und Anzahl der Mannschaften. Aus diesem Grunde wählen Sie im Menü »1 = MANNSCHAFTEN EINGEBEN/SICHTEN/KORRIGIEREN«. Nachdem der Bildschirm gelöscht wurde, werden Sie nach dem Namen der Liga gefragt. Dieser darf einschließlich Leerstellen nicht mehr als 16 Zeichen umfassen. Für die Testliga ein Vorschlag: »FVM 7 A-Ju. Nst. 5«. Dies würde bedeuten:
Fußball-Verband-Mittelrhein, Kreis 7 Aachen, A-Junioren, Normalstaffel 5. Die Eingabe muß mit RETURN abgeschlossen werden.
Nun werden Sie nach der Anzahl der Mannschaften gefragt. Sie können wählen zwischen minimal 3 und maximal 20 Mannschaften. Geben Sie eine Zahl >3 oder <20 ein, wird der Bildschirm gelöscht, und Sie müssen die Eingabe einschließlich Liganamen wiederholen. Der Liganame wird später auch Dateiname auf der Datendiskette sein. Haben Sie alles richtig eingegeben, fragt das Programm nach den Mannschaftsnamen. Abschließend müssen Sie die Richtigkeit der Eingaben bestätigen. Verneinen Sie hier mit »N«, werden Sie gefragt, ob ein Name oder die Anzahl der Mannschaften falsch sind. Sie können nun »N« für Name falsch oder »A« für Anzahl falsch eingeben. Bei Eingabe von »N« haben Sie die Möglichkeit zur Korrektur der Namen.
Auf die Möglichkeit nach Eingabe von »A« für Anzahl falsch wird unter »Besonderheiten« eingegangen.
Hatten Sie die Namen richtig eingegeben oder zwischenzeitlich korrigiert, so können Sie die Eingabe mit »J« bestätigen, worauf wieder das Hauptmenü auf dem Bildschirm erscheint.
Nachdem Sie nun die Eingaben bezüglich der Mannschaften abgeschlossen haben, benötigt der Computer weitere Informationen zu den Spieltagen. Hierzu wählen Sie im Hauptmenü »2 = SPIELTAGE -E-S-K-«. Sie sehen nun das Untermenü »SPIELTAGE -E-S-K-«, indem Sie »E« für »SPIELPLAN EINGEBEN« wählen. Auf die anderen Auswahlmöglichkeiten wird im Abschnitt »ARBEITEN MIT BESTEHENDEN SPORTLIGEN« eingegangen. Es kann nun das Datum aller Spieltage eingegeben werden. Stehen einzelne, alle oder von einer Gruppe (zum Beispiel der Rückserie) von Spieltagen noch nicht fest, so müssen Sie das entsprechende Datum einfach mit RETURN überschreiben.
Die Anzahl der Spieltage läßt sich rechnerisch aus der Mannschaftsanzahl wie folgt ableiten:
- bei gerader Anzahl Mannschaften:
(Anzahl der Mannschaften * 2) — 2 - bei ungerader Anzahl Mannschaften:
Anzahl der Mannschaften * 2
Diese Rechnung hat Ihr C 64 bereits durchgeführt, und Sie können das Ergebnis auf dem Bildschirm sehen.
Falls Sie die Daten von allen Spieltagen noch nicht kennen, bestätigen Sie die Abfrage »EINGABE OK« einfach mit »J« für Ja. Zum Eingeben verneinen Sie mit »N« für Nein. Sie können dann die Daten in der Form TT.MM.JJJJ eingeben. Nach erfolgter Eingabe und der Bestätigung mit »J« wird der Bildschirm gelöscht und Sie können die Spiele eingeben.
Auf dem neuen Bild auf dem Bildschirm erkennen Sie im oberen Teil die Mannschaftsnamen. Die Zahlen links davon sind die Mannschaftskennzahlen, für die im nachfolgenden die Abkürzung MKZ gebraucht wird. In dem unteren Teil werden die Spiele eingegeben. Sie brauchen hier aber nicht die Namen sondern nur die entsprechenden MKZ einzugeben.
Die Anzahl der Spiele je Spieltag läßt sich ebenfalls wie folgt aus der Anzahl der Mannschaften ableiten:
- bei gerader Anzahl Mannschaften:
Anzahl der Mannschaften/2 - bei ungerader Anzahl Mannschaften:
(Anzahl der Mannschaften -1)/2
Für nicht belegte Spiele geben Sie die MKZ »0« ein.
Nachdem Sie den ersten Spieltag eingegeben haben, können Sie die Richtigkeit der Eingaben mit »J« für Ja bestätigen oder mit »N« für Nein verneinen. Mit »N« können sie die Eingaben korrigieren, mit »J« den nächsten Spieltag eingeben. Des weiteren haben sie an dieser Stelle die Möglichkeit, mit »M« wieder zum Hauptmenü zu gelangen.
Der C 64 benötigt nur die Eingabe der Spieltage der Hinrunde. Die Rückrunde wird in Umkehrung der Hinrunde automatisch gesetzt.
Haben Sie alles richtig gemacht erscheint wieder das Untermenü.
Um sich nicht um den Lohn der Arbeit zu bringen, sollten Sie an dieser Stelle erst einmal ihre Daten in Sicherheit bringen. Dazu überprüfen Sie, ob das Floppy-Disk-Laufwerk eingeschaltet und die richtige Diskette im Laufwerk ist. Danach wählen Sie im Hauptmenü »8=DATEN SPEICHERN AUF DISKETTE«.
Arbeiten mit bestehenden Sportligen
Bei der ersten Liga, die Sie verwalten werden, wird davon ausgegangen, daß noch keine Änderungen, mit Ausnahme von Tippfehlern, zu bearbeiten sein werden. Alle möglichen Änderungen und Ergänzungen, die während der laufenden Saison auftreten und vom Programm verarbeitet werden können, sind im Abschnitt »BESONDERHEITEN« beschrieben.
Programm laden von Diskette
Vor dem Laden sollten Sie NEW und CLR im Direktmodus eingeben, damit alle Speicherplätze im C 64 gelöscht werden. Zum Laden geben Sie
LOAD"c/ligatab b1/a",8,1
ein.
Nach Beendigung des Ladevorgangs erscheint das Titelbild auf dem Bildschirm. Sie geben das Datum in der Form TT.MM.JJJJ ein und bestätigen die Eingabe mit »J« für Ja. Sie sehen nach kurzer Zeit das Hauptmenü.
Laden einer Liga von Diskette
Nun müssen Sie zuerst die richtige Datendiskette einlegen. Dann wählen Sie im Hauptmenü »7=DATEN LADEN VON DISKETTE« und geben danach den Liganamen ein. Achtung! Jetzt müssen Sie sehr sorgfältig sein, da eine Fehlermeldung wie zum Beispiel »FILE NOT FOUND«, verursacht durch einen nicht richtigen Liganamen, das Programm zum Absturz bringt. Es hilft dann nur noch ein Ausschalten des Computers und ein erneutes Laden vom Programm und Daten.
Haben Sie den Liganamen richtig eingegeben, bestätigen Sie die Abfrage »EINGABE OK« mit »J«. Wenn Sie nun sicher sind, daß die richtige Datendiskette im Laufwerk ist, drücken Sie RETURN. Verneinen Sie die Frage »EINGABE OK« mit »N« für Nein haben Sie die Möglichkeit, den Liganamen zu korrigieren. Des weiteren können Sie mit »M« aus diesem Teil des Programms zum Hauptmenü zurückkehren. Nach Beendigung des Ladevorgangs meldet sich das Programm automatisch wieder mit dem Hauptmenü.
Bildschirmausgabe
Die ersten drei Auswahlmöglichkeiten im Hauptmenü beziehen sich auf die Bildschirmausgabe.
1 = Mannschaften -e-s-k-
Wenn Sie diesen Programmpunkt anwählen, sehen Sie die Mannschaftsnamen auf dem Bildschirm. Da Sie eventuelle Namensfehler bei der Ersteingabe korrigiert haben und alle weiteren Änderungsmöglichkeiten unter Abschnitt »BESONDERHEITEN« behandelt werden, können Sie die Frage »EINGABE OK« mit »J« für Ja beantworten, um zum Hauptmenü zu gelangen.
2 = Spieltage -e-s-k-
Nach Eintippen von »2« im Hauptmenü sehen Sie ein Untermenü mit den folgenden Auswahlmöglichkeiten:
e | = | Spielplan eingeben |
s | = | Spiele sichten |
Ergebnisse -e-s-k- | ||
n | = | Nachholspiele -e-s-k |
m | = | Menü |
Tippen Sie »s« für Spiele sichten beziehungsweise für Ergebnisse -e-s-k- ein.
Der C 64 fragt nun nach dem Spieltag, mit dem Sie beginnen möchten. Nachdem Sie nun die entsprechende Zahl eingegeben haben, sehen Sie ein neues Bild auf dem Bildschirm.
In der oberen Hälfte erkennen Sie die Mannschaftskennzahl (MKZ) und die Mannschaftsnamen. Dann folgt ein Balken, aus dem Sie die Spieltagsnummer erkennen können.
In der unteren Hälfte sind die Spielpaarungen zu sehen. Der untere Balken ist der Befehlsbalken, aus dem Sie die drei folgenden Eingabemöglichkeiten ableiten können:
- M = Menü
- K = Korrigieren
- CRSR = Blättern
Mit »M« gelangen Sie wieder zum Hauptmenü, über »K« erfolgt die Ergebniseingabe beziehungsweise Korrektur und mit den Cursor-Tasten können Sie in den Spieltagen blättern.
Ergebniseingabe: Hierzu wählen Sie »K« und der Comptuer verlangt nun die Eingabe der Ergebnisse. Sie dürfen nun Zahlen eingeben bis einschließlich 499 sowie den Buchstaben »N« für Nachholspiele.
Auf die Verwaltung der Nachholspiele wird später eingegangen. Steht ein Ergebnis noch nicht fest, drücken Sie RETURN. Haben Sie die letzte Eingabe eines Spieltages mit RETURN abgeschlossen, erscheint der nächste Spieltag. Wollen Sie zu dem Spieltag zurück, bei dem Sie gerade eine Eingabe gemacht haben, drücken Sie CURSOR-RUNTER.
Blättern mit dem Cursor: Das Sichten aller Spieltage ist mit den Cursor-Tasten möglich. Sie haben hiermit eine komfortable Möglichkeit zum Blättern.
- Mit CURSOR-RUNTER erscheint der vorherige Spieltag.
- Mit CURSOR-HOCH erscheint der nächste Spieltag.
- Mit CURSOR-RUNTER erscheint beim ersten wieder der letzte Spieltag.
- Mit CURSOR-HOCH erscheint beim letzten wieder der erste Spieltag.
3 = Tabellen
Wählen Sie diesen Punkt mit »3« im Hauptmenü an, fragt der Computer, bis zu welchem Spieltag er die Tabelle errechnen soll. Sie können nun zwischen 1 und dem höchsten Spieltag, maximal 38, wählen. Die aktuelle Tabelle erhalten Sie bei Eingabe des letzten Spieltages.
Nach kurzer Zeit erscheint die Tabelle auf dem Bildschirm. Sie bleibt so lange erhalten, bis Sie eine beliebige Taste drücken.
Aus Platzgründen konnten bei der Bildschirmausgabe nur der Tabellenplatz, der Mannschaftsname, die Tordifferenz, die Pluspunkte und die Minuspunkte berücksichtigt werden. Die Druckerausgabe der Tabelle ist wesentlich umfangreicher.
Druckerausgabe
Die Auswahlmöglichkeiten 4, 5 und 6 im Hauptmenü beziehen sich auf die Druckerausgabe.
4 = Mannschaftsliste -d-
Nach dem Anwählen dieses Menüpunktes ist auf dem Bildschirm eine Information zu sehen, die aussagt, was der C 64 als nächstes machen wird. Des weiteren werden Sie gefragt, ob der Drucker eingeschaltet ist. Achtung, bestätigen Sie nun mit RETURN und der Drucker ist nicht eingeschaltet, führt dies zum Programmabsturz. Aus diesem Grunde erst überzeugen, dann bestätigen mit RETURN.
Mit der Eingabe von »M« gelangen Sie wieder zum Hauptmenü zurück. Nach Beendigung des Druckvorganges erscheint automatisch wieder das Hauptmenü.
Spieltage -d-
Nach Eintippen von »5« im Hauptmenü sehen Sie ein Untermenü mit den folgenden Auswahlmöglichkeiten:
- A = kompletter Spielplan
- B = ein bestimmter Spieltag
- C = von/bis zu einem Spieltag
- D = Ergebnisse einer Mannschaft
- N = Nachholspiele
- M = Menü
A = Kompletter Spielplan
Nachdem Ste »A« eingegeben haben, sehen Sie wieder eine entsprechende Information auf dem Bildschirm. An dieser Stelle sollten Sie überprüfen, ob Ihr Drucker eingeschaltet ist. Wollen Sie den Druckvorgang nicht starten, gelangen Sie mit der Eingabe »M« wieder zum Menü. Haben Sie jedoch »D« gewählt, ist der Druckvorgang nicht mehr zu unterbrechen. Nach Beendigung meldet sich das Programm mit dem Menü wieder.
B = Ein kompletter Spieltag
Wählen Sie »B« im Untermenü fragt der Computer nach dem Spieltag, den Sie ausdrucken möchten. Nach richtiger Eingabe mit abschließendem RETURN sehen Sie wieder die Information und haben nun die Auswahl »M=MENUE« und »D=DRUCKEN«.
C = Von/bis zu einem Spieltag
Hier können Sie sich nach Eingabe des ersten und des letzten Spieltages, den Sie drucken möchten, eine beliebige Anzahl von Spieltagen ausdrucken lassen.
D = Ergebnisse einer Mannschaft
Wenn Sie »D« im Untermenü anwählen, können Sie die Spielpläne jeder Mannschaft einzeln ausdrucken lassen.
Das Programm fragt zuerst nach der Mannschaftskennzahl (MKZ) und zeigt Ihnen danach den dazugehörigen Mannschaftsnamen. Verneinen Sie die anschließende Abfrage »EINGABE OK« haben Sie die Möglichkeit, die MKZ zu korrigieren. Beantworten Sie diese Frage jedoch mit »J«, können Sie wieder wählen zwischen »M = Menü« oder »D = Drucken«.
Ist der Druckvorgang zu Ende, fragt das Programm, ob Sie einen weiteren Ausdruck der Spielerergebnisse dieser Mannschaft wünschen. Antworten Sie mit »J« wiederholt sich der Druckvorgang. Antworten Sie mit »N« fragt das Programm, ob Sie einen Ausdruck einer anderen Mannschaft wünschen. Bei Eingabe »J» beginnt wieder die Prozedur mit der Abfrage der MKZ, mit Eingabe von »N« gelangen Sie wieder zum Menü. Hinweis zur Ausdrucksform:
Auf dem Ausdruck wurde eine Spalte »…. Uhr« vorgesehen. Im Programm können Sie diese Uhrzeit nicht eingeben. Nun fragen Sie sicher, wieso dann? Wenn Sie als Staffelleiter ein arbeitssparendes Instrument wie »Ligatab« zur Verfügung haben, sollten auch die Vereine davon profitieren. Stellen Sie diese Liste den Vereinen zur Verfügung, haben diese nach Ergänzung der Listen mit der Uhrzeit einen vernünftigen Spielplan, den Sie für den Aushang und zum Verteilen im Verein verwenden können. Den Vereinen wird somit auch eine Menge Arbeit erspart.
N = Nachholspiele
Hiermit haben Sie die Möglichkeit, alle noch ausstehenden Nachholspiele ausdrucken zu lassen, wenn Sie als solche in den Spieltagen gekennzeichnet sind.
Hierzu ist jedoch mehr im Abschnitt »Besonderheiten« nachzulessen. Mit der Eingabe von »M« im Untermenü gelangen Sie zum Hauptmenü.
6 = Tabelle -d-
Wie bei der Bildschirmausgabe fragt das Programm auch hier, bis zu welchem Spieltag (einschließlich) die Tabelle errechnet werden soll. Nach Beantwortung erscheint nach kurzer Zeit die Tabelle auf dem Bildschirm. Sie haben nun wieder die Wahl zwischen »M=MENUE« und »D=DRUCKEN«. Die Druckerausgaben der Tabellen sind wesentlich umfangreicher als die Bildschirmausgaben und enthalten folgende Informationen:
— Pl. | = Tabellenplatz |
— Verein | = Mannschaftsname |
— Sp. | = Anzahl der Spiele |
— G | = Anzahl der gewonnenen Spiele |
— U | = Anzahl der unentschiedenen Spiele |
— V | = Anzahl der verlorenen Spiele |
— +T | = Anzahl der erzielten Tore |
— —T | = Anzahl der Gegentore |
— TD | = Tordifferenz |
— +P | = Anzahl der Pluspunkte |
— —P | = Anzahl der Minuspunkte |
Diskettenoperationen
8 = Daten speichern auf Diskette:
Nachdem Sie im Hauptmenü »8« angewählt haben, die richtige Diskette eingelegt ist und dies mit RETURN bestätigt wurde, werden die Daten auf Diskette gespeichert. Ist das Abspeichern abgeschlossen, meldet sich das Programm automatisch mit dem Hauptmenü zurück.
9 = Neue Liga/Programmende
Diesen Programmteil dürfen oder müssen Sie dann anwählen, wenn Sie entweder die Arbeit mit der zur Zeit im Computer befindlichen Liga beenden und mit einer nächsten Liga weiterarbeiten wollen, oder wenn Sie die Arbeit mit Ligatab ganz beenden wollen. Sie sollten in diesem Programmabschnitt wieder ganz besonders vorsichtig sein, um nicht die eingegebenen Daten durch unüberlegte Eingaben zu verlieren. Dies ist ganz besonders ärgerlich, wenn Sie sich hier bei einer Ersteingabe verschreiben.
Nachdem Sie im Hauptmenü.»9« angewählt haben, erfolgt aus Sicherheit eine doppelte Aubfrage, ob Sie die Daten bereits abgespeichert haben. Sobald Sie eine Abfrage mit »N« für Nein beantworten, sind Sie wieder im Hauptmenü. Bejahen Sie jedoch die Abfragen zweimal mit »J« für Ja, sind die Daten im C 64 unwiderruflich verloren.
Jetzt haben Sie die Möglichkeit, mit Eingabe von »E« die Arbeit ganz zu beenden, oder mit der Eingabe von »N« eine neue Liga zu bearbeiten. Bei der Eingabe von »E« werden nicht nur die Daten, sondern auch das Programm gelöscht.
Der Computer wird in den Einschaltzustand versetzt. Nach Eingabe von »N« werden alle Daten der zur Zeit im Computer befindlichen Liga gelöscht und es wird anschließend wieder das Titelbild auf dem Bildschirm erscheinen.
Besonderheiten
Mit den bisher beschriebenen Möglichkeiten läßt sich eine Sportliga nur so lange sinnvoll verwalten, wie sie keinerlei Änderungen unterliegt. Wenn damit die Möglichkeiten des Programms erschöpft sind, so ist es vollkommen praxisfremd.
Welcher Staffelleiter kennt nicht den Aufwand zur Verfolgung der Termine von Nachholspielen, oder den Ärger, eine mühsam errechnete Tabelle am zehnten Spieltag vor Saisonende korrigieren zu müssen, weil ein Verein seine Mannschaft zurückgezogen hat, oder den Ärger, einen Spielplan am neunten Spieltag umzuplanen, einschließlich der anfallenden Nachholspiele, weil eine Mannschaft nachgemeldet wurde, oder die entstehen kann, wenn ein Spiel gewertet werden muß, und die Tabelle war schon errechnet, oder…
Jeder, der mit der Verwaltung von Sportligen zu tun hat, weiß, daß all diese Dinge um so häufiger vorkommen, je niedriger die Liga ist, die er zu verwalten hat. Ganz zu schweigen vom Spielbetrieb im Jugendbereich.
Ein Programm, das den Anspruch »praxisnah« für sich stellt, muß mit all diesen Unzulänglichkeiten in einer anwenderfreundlichen Weise fertig werden. Wie Sie nun in solchen Fällen im Detail mit dem Programm arbeiten können, wird in den nachfolgenden Abschnitten beschrieben.
Wertung von Spielen
Die Wertung von Spielen ist im Programmablauf einer einfachen Ergebniskorrektur gleichzusetzen. Beispiel: Am 12. Spieltag spielt Mannschaft X gegen Y 1:1 unentschieden und Sie erhalten den Spielbericht dienstags. Da keine besonderen Vormerke eingetragen sind, übernehmen Sie das Ergebnis in den Computer. Nun erhebt Y am Samstag berechtigten Einspruch, und die Spruchkammer wertet das Spiel auf ihrer Sitzung zwei Wochen später mit 2:0 für Mannschaft Y.
Was tun?
- — Sie wählen im Hauptmenü »2 = Spieltage -e-s-k-«
- — Sie wählen im Untermenü »s = Ergebnis -e-s-k-«.
- — Sie wählen für den Start den 12. Spieltag.
- — Sie wählen »K« für korrigieren.
- — Bei nicht zu korrigierenden Ergebnissen: RETURN
- — Sie überschreiben die entsprechenden Zahlen.
Eingabe von Nachholspielen
Beispiel:
Im oben beschriebenen Fall hat die Spruchkammer entschieden, das Spiel ist neu anzusetzen, oder das Spiel ist aufgrund der Witterungsverhältnisse ausgefallen und neu anzusetzen.
Was tun:
- 1. — 5. wie oben (Wertung)
- 6. — Sie tragen anstelle der geschossenen Tore der Heimmannschaft ein »N« ein.
- 7. — War bereits ein Ergebnis eingetragen, sind neben dem »N« 2 Punkte und bei den Gegentoren 3 Punkte einzuschreiben.
Bildschirmausgabe der Nachholspiele und eintragen des Datums
Was tun:
- — Sie wählen im Hauptmenü »2 = Spieltage -e-s-k-«.
- — Sie wählen im Untermenü »N = Nachholspiele«.
- — Sie sehen auf dem Bildschirm die Nachholspiele des 1. Spieltages oder die Meldung »Keine Nachholspiele!«
- — Sie können nun mit den Cursor-Tasten blättern.
- — Möchten Sie das Datum eintragen, wählen Sie hierzu »K« und tragen anschließend das entsprechende Datum in der Form TT.MM.JJJJ ein.
Druckerausgabe Nachholspiele
Hiermit haben Sie die Möglichkeit, alle noch ausstehenden Nachholspiele als Liste über den Drucker auszugeben.
Was tun:
- — Sie wählen im Hauptmenü »5 = Spieltage -d-«.
- — Sie wählen im Untermenü »N = Nachholspiele«.
- — Sie beantworten die Frage von/bis zu welchem Spieltag.
- — Sie wählen im Informationsbild »D = Drucken«.
Hinweis:
Ein Nachholspiel wird als Nachholspiel automatisch gelöscht, wenn für das entsprechende Spiel ein Ergebnis eingetragen wird.
Mannschaften zurückziehen
Beispiel:
Sie verwalten eine Liga mit X Mannschaften und am 12. Spieltag zieht ein Verein seine Mannschaft zurück.
Was tun:
- — Sie wählen im Hauptmenü »1 = Mannschaften -e-s-k-«.
- — Sie verneinen die Frage »EINGABE OK« mit »N« für Nein.
- — Sie geben »A« für »ANZAHL FALSCH« ein.
- — Sie geben »—« für »EINE MANNSCHAFT WENIGER« ein.
- — Sie geben die MKZ der entsprechenden Mannschaft ein.
Das Programm korrigiert die Daten automatisch. Hatten Sie die falsche MKZ eingegeben, so gehen Sie über das Hauptmenü zu Punkt »9« und beenden die Arbeit so, als ob mit einer neuen Liga weitergearbeitet werden soll. Nun laden Sie die Liga erneut und können entsprechend korrigieren.
Alle Spiele, an denen die gelöschte Mannschaft beteiligt war, werden in den Spieltagen (nur Bildschirmausgabe) mit der MKZ »0« belegt.
Beispiel:
Eine Mannschaft wird zurückgezogen und gleichzeitig eine andere nachgemeldet.
Was tun:
- 1. — 2. — wie im letzten Beispiel.
- 3. — Sie geben »N« für »NAME FALSCH« ein.
- 4. — Bei nicht zu ändernden Namen tippen Sie RETURN.
- 5. — Den Namen der zu löschenden Mannschaft überschreiben Sie mit dem Namen der neuen Mannschaft.
- 6. — In den Spieltagen müssen Sie nun die Ergebnisse der alten Mannschaft mit drei Punkten belegen, und die Spiele, die laut Spielplan bereits stattgefunden haben müßten, wie Nachholspiele behandeln (das heißt mit »N« belegen).
Mannschaften nachmelden
Hier müssen Sie drei verschiedene Voraussetzungen unterscheiden.
- Sie haben eine Liga mit ungerader Anzahl von Mannschaften, und alle Plätze sind bereits besetzt.
- Sie haben eine Liga mit gerader Anzahl von Mannschaften, und alle Plätze sind bereits besetzt.
- Sie haben eine Liga, in der noch Plätze frei sind.
Beispiel:
Ihre Liga hat 15 Mannschaften und Sie möchten sie um eine auf 16 erweitern.
Was tun:
- — Sie wählen im Hauptmenü »1 = Mannschaften -e-s-k-«.
- — Sie verneinen die Frage »EINGABE OK« mit »N« für Nein.
- — Sie geben »A« für »ANZAHL FALSCH« ein.
- — Sie geben »+«für »EINE MANNSCHAFT MEHR« ein.
- — Sie geben den Mannschaftsnamen ein.
- — Sie bestätigen »EINGABE OK« mit »J« für Ja.
- — Sie wählen im Hauptmenü »2 = SPIELTAGE -e-s-k-«.
- — Sie wählen »E« im Untermenü.
- — Sie starten mit dem 1. Spieltag.
- — Sie setzen die Spiele der neuen Mannschaft gegen die, die bisher spielfrei war.
- — Sie behandeln die Spiele, die eigentlich bereits stattgefunden haben sollten, wie Nachholspiele.
Beispiel:
Ihre Liga hat 14 Mannschaften und soll um eine auf 15 erweitert werden.
Was tun:
- 1. — 5. — wie im ersten Beispiel.
- 6. — Sie sehen nun die Meldung »SPIELTAGE UND ERGEBNISSE NEU SETZEN«.
Normalerweise müßten Sie nun den kompletten Spielplan neu setzen. Diese sehr umfangreiche und eigentlich sinnlose Arbeit könnten Sie sich jedoch bei vernünftiger Vorplanung beim Anlegen der Ligen ersparen. Siehe hierzu auch Abschnitt »Tips zur Vorbereitung«. Sie sollten daher nie eine Liga, die eine gerade Anzahl von Mannschaften und keine Plätze mehr frei hat, vergrößern. Das Programm läßt dies zwar zu, jedoch nur in Verbindung mit einem nicht vertretbaren Aufwand.
Beispiel:
Ihre Liga hat 14 Plätze, diese sind aber nur mit 12 Mannschaften belegt, so daß immer 2 Mannschaften spielfrei sind. Sie möchten nun die 13. Mannschaft einordnen.
Was tun:
- 1. — und 2. — wie im ersten Beispiel.
- 3. — Sie geben »N« für »NAME FALSCH« ein.
- 4. — Sie drücken so oft RETURN bis der CURSOR auf den ersten freien Mannschaftsnamen ist.
- 5. — Sie überschreiben die Punkte mit dem neuen Namen.
- 6. — Sie drücken so lange »RETURN« bis der Balken mit der Frage »EINGABE OK« erscheint.
- 7. — Sie bestätigen mit »J« für Ja.
- 8. — Schritte 7. — 9. — wie im ersten Beispiel.
- 9. — Sie ersetzen in den Spieltagen die Spiele die bisher mit der MKZ »0« belegt waren mit den richtigen MKZs.
- 10. — Wie 11. — im ersten Beispiel
Tips zur Vorbereitung
Wenn Sie das in diesem Abschnitt beschriebene genauestens durchlesen, und bei der Verwaltung ihrer Sportliga anwenden, können Sie sich eventuell sehr viel Arbeit ersparen.
Anlegen der Ligen vor der Saison
Wir sehen uns nun den Sportteil einer Montagszeitung genauer an. Sie sehen hier fast alle Klassen im Fußballsport. In der mir vorliegenden, einer Aachener Lokalzeitung, stelle ich folgendes fest:
1.— | 1. Bundesliga | 18 Mannschaften |
2.— | 2. Bundesliga | 20 Mannschaften |
3.— | Oberliga | 18 Mannschaften |
4.— | Verbandsliga | 15 Mannschaften |
5.— | Landesliga | 17 Mannschaften |
6.— | Bezirksliga | 17 Mannschaften |
7.— | Kreisliga A,Gr.1 | 16 Mannschaften |
8.— | Kreisliga A,Gr.2 | 15 Mannschaften |
9.— | Kreisliga B,Gr.1 | 16 Mannschaften |
10.— | Kreisliga B,Gr.2 | 16 Mannschaften |
11.— | Kreisliga B,Gr.3 | 16 Mannschaften |
12.— | Kreisliga B,Gr.4 | 16 Mannschaften |
13.— | Kreisliga C,Gr.1 | 15 Mannschaften |
. | . | . |
. | . | . |
. | . | . |
20.— | Kreisliga C,Gr.8 | 16 Mannschaften |
21.— | A—Junioren Verbandsklasse | 12 Mannschaften |
22.— | B—Junioren Verbandsklasse | 12 Mannschaften |
23.— | A—Junioren Sondergruppe | 12 Mannschaften |
24.— | B—Junioren Sondergruppe | 12 Mannschaften |
25.— | C—Junioren Sondergruppe | 12 Mannschaften |
. | . | . |
. | . | . |
. | . | . |
64.— | F—Jugend Normalstaffel 1 | 8 Mannschaften |
65.— | F—Jugend Normalstaffel 2 | 10 Mannschaften |
66.— | F—Jugend Normalstaffel 3 | 10 Mannschaften |
Jeder, der sich normalerweise nicht im Verband um die Organisation des Spielbetriebes kümmert, wird nun erstmal staunen, wieviel Ligen die ehrenamtlichen Staffelleiter, insbesondere im Jugendbereich, zu verwalten haben. Von den insgesamt 66 Ligen werden 58 im Kreisverband, davon 44 im Jegendbereich, organisiert. Somit liegt es nahe, sich ein Instrument zu beschaffen, das die Routinearbeiten erledigen kann.
Im nachfolgenden soll nun am Beispiel des Kreises Aachen aufgezeigt werden, welche Grundüberlegungen man anstellen sollte, um die Ligen des Kreises mit »Ligatab« bei möglichst kleinem Aufwand zu verwalten.
Es geht nun darum festzustellen, welche Liga Sie mit welcher Anzahl von Mannschaften anzulegen haben. Das Ergebnis muß natürlich so sein, daß genügend Flexibilität vorhanden ist, um alle Veränderungen, bezogen auf die Mannschaftsanzahl, mit geringst möglichem Arbeitsaufwand erfassen zu können. Hierzu betrachten Sie nur die Ligen, die im Kreisverband verwaltet werden müssen (Nr. 7 bis 20, Nr. 23 bis 66).
Es sind hier zwei Arten zu unterscheiden. Einmal die Ligen, in denen die Anzahl der Mannschaften durch Auf- beziehungsweise Abstieg geregelt wird, zum anderen die Ligen, in denen die Anzahl der Mannschaften nur von der Anzahl der Meldungen der Vereine abhängig ist.
Zur ersten Gruppe gehören die Gruppen der Kreisliga A und B sowie die Junioren Sondergruppen und Leistungsstaffeln. In diese Ligen wird es in der laufenden Saison nie vorkommen, daß sie durch eine Mannschaft vergrößert werden müssen.
In der zweiten Gruppe, den Kreisligen C und den Junioren- beziehungsweise Jugendnormalstaffeln, kann es schon öfter vorkommen, daß Mannschaften nachgemeldet werden.
In der ersten Gruppe brauchen Sie nicht lange zu überlegen. Hier kommen Sie mit 16er und 12er Gruppen aus. In der zweiten Gruppe sollten Sie für die Kreisliga C 16er Gruppen anlegen und für die Jugendmannschaften 12er Gruppen. Damit haben Sie zwei Probleme erschlagen. Zum einen haben Sie genügend Reserve für die Nachmeldung, zum andern benötigen Sie nur den 16er und den 12er DFB-Spielplanschlüssel.
Um nun nicht stundenlang in 14 Gruppen mit 16er-Schlüssel und in 44 Gruppen mit 12er-Schlüssel Mannschaftskennzahl und Spieltagsdatum eintragen zu müssen, sollten Sie wie folgt vorgehen:
- — Sie legen eine Liga mit 16 Mannschaften, einschließlich komplettem Spielplan und Spieltagsdatum an.
- — Wie vor, jedoch mit 14 Mannschaften.
- — Sie kopieren die Ligen mit dem auf Ihrer »TEST/DEMO-DISKETTE« befindlichem Programm »DOS 5.1« und benennen sie um.
Die Schreibweise des Befehls im »DOS 5.1« ist: >C:Neuer Name = Alter Name
Aufteilen der Ligen auf Disketten
Um die Ligen bei Ihrer wöchentlichen Arbeit schnell wiederzufinden, ist es ratsam, nicht mit Disketten zu sparen und die Aufteilung nach rein logischen Gesichtspunkten vorzunehmen. So hat eine F-Jugendliga nichts auf der gleichen Diskette zu suchen wie eine Kreisliga A. Es passen maximal zehn 16er Ligen oder maximal zwanzig 12er Ligen auf eine Diskette. Hierauf aufbauend könnte eine Aufteilung wie folgt aussehen:
1. Diskette Kreisliga A und B | (6 Ligen) |
2. Diskette Kreisliga C | (8 Ligen) |
3. Diskette Ju.-Sonder und Leistungsgruppe | (6 Ligen) |
4. Diskette A- und B-Junioren Normalstaffel | (11 Ligen) |
5. Diskette C- und D-Jugend Normalstaffel | (16 Ligen) |
6. Diskette E- und F-Jugend Normalstaffel | (11 Ligen) |
Datensicherung
Die Datensicherung muß sehr ernst genommen werden. Um einen unnötigen Verlust größerer Datenmengen zu vermeiden, sollten Sie mindestens einmal im Monat alle Datendisketten mit einem Diskettenkopierprogramm vollständig kopieren. Dies sollten Sie auch tun, nachdem Sie alle Ligen, die Sie verwalten möchten, zum ersten Mal angelegt haben.
Es wäre natürlich sinnlos, sich die Arbeit des Kopierens zu machen, um die Kopien am gleichen Ort wie die Originale aufzubewahren. Die Kopien sollten mindestens in einem anderen Raum aufbewahrt werden. Es wäre natürlich noch besser, wenn Sie die Kopien in einem anderen Gebäude aufbewahren könnten. Wenn Sie diese Tips befolgen, ersparen Sie sich viel Arbeit.
Das Programm wurde in erster Linie für die ehrenamtlichen Mitarbeiter der Kreisverbände geschreiben, die jede Woche mühsam per Hand die Ergebnisse in Listen eintragen und nach den verschiedensten Schemata in unregelmäßigen Zeitabständen Tabellen errechnen. Aber auch für den privaten Bereich kann Ligatab zweckentfremdet werden.
(Franz-Josef Heuser/rg)

1 poke53280,0:poke53281,0:printchr$(14):rem poke788,52:poke792,193 3 printchr$(147):print 4 print " Bitte warten" 5 gosub655 6 printzd$zh$ 7 printzh$" "za$" "zb$" 8 print" "za$" "zb$" "za$" "zb$ 9 print" "za$" "zb$" L{$a0}I{$a0}G{$a0}A{$a0}T{$a0}A{$a0}B{$a0} "za$" "zb$ 10 print" "za$" "zb$" "za$" "zb$ 11 print" "za$" "zb$" by Heuser Franz-Josef "za$" "zb$ 12 print" "za$" "zb$" "za$" "zb$ 13 print" "za$" "zb$" In den Atzenbenden 74 "za$" "zb$ 14 print" "za$" "zb$" "za$" "zb$ 15 print" "za$" "zb$" 5100 Aachen-Haaren "za$" "zb$ 16 print" "za$" "zb$" "za$" "zb$ 17 print" "za$" "zb$" Telefon 0241/16737 "za$" "zb$ 18 print" "za$" "zb$" "za$" "zb$ 19 print" "za$" "zb$" 20 print:print:print" Bitte geben Sie das heutige" 21 print:print" Datum in der Form TT.MM.JJJJ" " 22 print" ^^ ^^ ^^^^" " 23 print" ein. .........."; 24 printze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$;:inputda$ 25 print:print:printza$z0$zb$ 26 gosub709 27 ifw$<>"j"then6 28 dimm$(20),m(20),d(38,10),e(38,10),l(20,9),g$(38,20),sr$(20),z(20) 29 dimh$(38,20),k1(20,2),ds$(38),n$(38,10),dn$(38,10) 30 gosub575 31 printzd$za$z1$zb$:print 32 print"-------- "zz$" ----------" :print 33 print" "za$" 1 "zb$" = "zw$ 34 print" "za$" 2 "zb$" = "zt$ 35 print" "za$" 3 "zb$" = "zs$:print 36 print"-------- "zy$" ----------":print 37 print" "za$" 4 "zb$" = "zr$ 38 print" "za$" 5 "zb$" = "zq$ 39 print" "za$" 6 "zb$" = "zp$:print 40 print"-------- "zx$" ----------":print 41 print" "za$" 7 "zb$" = "zo$ 42 print" "za$" 8 "zb$" = "zn$:print 43 print"{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}":print 44 print" "za$" 9 "zb$" = "za$zm$zb$ 45 print:printzl$ 46 gosub709 47 w=val(w$):ifw<1orw>9then46 48 onwgosub50,88,147,194,219,291,331,374,411 49 goto31 50 printzd$:printza$z2$zb$:print 51 ifln$=""thenln$="................" 52 ifa=0thenprint:print" E{$a0}R{$a0}S{$a0}T{$a0}E{$a0}I{$a0}N{$a0}G{$a0}A{$a0}B{$a0}E{$a0}{$a0} ":print:print 53 ifa=0thenprint" Liganame = ";ln$:printzc$zg$zg$zg$zg$zg$ 54 ifa=0thenprint:forx=1to12:printzf$;:nextx 55 ifa=0theninputln$:ln$=left$(ln$,16):print 56 ifa=0theninput" Wieviele Mannschaften (3-20) ";a:gosub571:y=1 57 ifa<3ora>20thena=0:goto50 58 printzd$za$z2$zb$:print 59 fori=1toa 60 ifi<10thenprintzf$; 61 printi;ze$;". Mannschaft ";m$(i) 62 nexti 63 ify=1thengosub82 64 printzg$za$z0$zb$ 65 gosub709 66 ifw$="j"theny=0:return 67 ifw$<>"n"then65 68 printzh$;:print" "za$"N"zb$"ame "za$"A"zb$"nzahl falsch ?"; 69 print" " 70 gosub709 71 ifw$="n"theny=1:gosub82:goto80 72 ifw$="a"thenprintzh$zh$ 73 print" "za$"-"zb$" = Eine Mannschaft weniger" 74 print:print" "za$"+"zb$" = Eine Mannschaft mehr" 75 gosub709 76 ifw$="-"thengosub497:y=0:goto58 77 ifw$="+"thengosub526:y=0:goto58 78 goto75 79 w$="a" 80 ifw$="n"thenprintzh$:goto64 81 ifw$<>"n"orw$<>"a"then70 82 printzc$zg$ 83 fori=1toa 84 forx=1to18:printzf$;:nextx 85 inputm$:m$(i)=left$(m$,15):m$="" 86 nexti 87 return 88 printzd$za$z3$zb$:print:print 89 print" "za$" e "zb$" = Spielplan eingeben":print 90 print" "za$" s "zb$" = Spiele sichten":print 91 print" Ergebnisse -e-s-k-":print 92 print" "za$" n "zb$" = Nachholspiele -e-s-k-":print 93 print" "za$" m "zb$" = Menue" 94 gosub709 95 ifw$="m"thenreturn 96 ifw$="e"then101 97 ifw$="s"thenprint:print:print" Start bei Spieltag (1-";b;")";:inputbs 98 ifw$="s"then120 99 ifw$="n"then685 100 goto88 101 gosub571 102 gosub477 103 fori=1toint(b/2) 104 gosub712 105 printza$i;ze$;"Tag Wer spielte gegen wen (1 -"a;:printze$") "zb$:print 106 forj=1toc 107 printzf$;d(i,j) 108 printzh$zf$zf$zf$zf$zf$" - ";:print e(i,j):printzh$zh$ 109 inputd$ 110 d(i,j)=val(left$(d$,2)):d$="" 111 printzh$zf$zf$zf$zf$" - ";:input e$:e(i,j)=val(left$(e$,2)):e$="" 112 nextj 113 printza$z0$zb$ 114 gosub709 115 ifw$="m"thenreturn 116 ifw$<>"j"then104 117 nexti 118 gosub519 119 goto88 120 gosub571:ifbs<1orbs>bthen88 121 fori=bstob 122 gosub712 123 printzc$:forx=1to6:printzg$:nextx 124 printza$i;ze$;"Tag E{$a0}R{$a0}G{$a0}E{$a0}B{$a0}N{$a0}I{$a0}S{$a0}S{$a0}E "zb$:print 125 forj=1toc 126 gosub732:printd(i,j) 127 printzh$zf$zf$zf$zf$" - ";:printe(i,j):printzh$zh$ 128 ifn$(i,j)="n"thenprint:printzh$;:for x=1to18:printzf$;:nextx 129 ifn$(i,j)="n"thenprint" nachholspiel":goto137 130 ifg$(i,d(i,j))<>""thenprint:printzh$;:forx=1to18:printzf$;:nextx 131 ifg$(i,d(i,j))<>""thenprintg$(i,d(i,j)); 132 ifg$(i,d(i,j))<>""thenprint:printzh$;:forx=1to23:printzf$;:nextx:print"*"; 133 ifh$(i,d(i,j))<>""thenprint" ";h$(i,d(i,j)) 134 ifg$(i,d(i,j))=""andh$(i,d(i,j))=""thenprint:printzh$; 135 ifg$(i,d(i,j))=""andh$(i,d(i,j))=""thenprint;:forx=1to23:printzf$;:nextx 136 ifg$(i,d(i,j))=""andh$(i,d(i,j))=""thenprint"*" 137 gosub735 138 nextj 139 ifa<19thenprint 140 printza$zk$zb$:gosub709 141 ifw$=zh$theni=i:ifi=btheni=0 142 ifw$=zg$theni=i-2:ifi<0theni=b-1 143 ifw$="k"thengosub552 144 ifw$="m"thenreturn 145 nexti 146 goto88 147 gosub571 148 printzd$za$z4$zb$:print 149 print" Bis zu welchem Spieltag ?" 150 ifb=0thenreturn 151 print:print" 1 - ";b;:input k 152 ifk<1ork>bthen148 153 gosub 738:print:print" Ich berechne die Tabelle !" 154 print:print" Bitte warten " 155 fori=1to20 156 forj=1to9 157 l(i,j)=0 158 nextj 159 nexti 160 fori=1toa 161 forj=1tok 162 ifg$(j,i)=""orh$(j,i)=""then169 163 l(i,4)=l(i,4)+1 164 l(i,1)=l(i,1)+val(g$(j,i)) 165 l(i,2)=l(i,2)+val(h$(j,i)) 166 ifval(g$(j,i))>val(h$(j,i))thenl(i,5)=l(i,5)+1 167 ifval(g$(j,i))=val(h$(j,i))thenl(i,6)=l(i,6)+1 168 ifval(g$(j,i))<val(h$(j,i))thenl(i,7)=l(i,7)+1 169 nextj 170 nexti 171 fori=1toa 172 l(i,3)=l(i,1)-l(i,2) 173 l(i,8)=(l(i,5)*2)+l(i,6) 174 l(i,9)=(l(i,7)*2)+l(i,6) 175 nexti 176 gosub622:gosub 739 177 ifr1=1thenr1=0:return 178 gosub 738:printzd$za$z4$zb$:print 179 print" Tabelle einschl.";k;ze$". Spieltag":print:print 180 ifa>17thenprintzh$zh$ 181 print"Pl.{SHIFT--} Name {SHIFT--} Tord. {SHIFT--} +Pu.{SHIFT--} -Pu." 182 print"{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}":ty=0 183 fori=1toa 184 ifm$(z(i))="..............."then190 185 ty=ty+1:printty; 186 print:printzh$zf$zf$zf$;left$(m$(z(i)),15) 187 printzh$;:forx=1to21:printzf$;:nextx:print l(z(i),3) 188 printzh$;:forx=1to28:printzf$;:nextx:print l(z(i),8) 189 printzh$;:forx=1to34:printzf$;:nextx:print l(z(i),9) 190 nexti 191 gosub739:ifr1=1thenr1=0:return 192 gosub709 193 return 194 printzd$za$z5$zb$:print:print 195 print" Druckerausgabe Mannschaftsliste":print 196 print" Stand : ";da$:print 197 print" Drucker eingeschaltet ?":print 198 print" Wenn fertig dann ";za$zv$zb$ 199 print:print:print " M = Menue" 200 gosub709 201 ifw$="m"then return 202 ifw$<>chr$(13)then194 203 close2:open2,4,7 204 print#2 205 print#2,chr$(14);"********** Mannschaftsliste ***********";chr$(15) 206 print#2 207 print#2,chr$(14);ln$" Stand : ";da$;chr$(15) 208 print#2:gosub711 209 print#2,chr$(14);"{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}";chr$(15) 210 print#2 211 fori=1toastep4 212 print#2,m$(i);" "; 213 print#2,m$(i+1);" "; 214 print#2,m$(i+2);" "; 215 print#2,m$(i+3) 216 nexti 217 print#2:print#2:print#2:close2 218 return 219 printzd$za$z6$zb$:print:print:print:print 220 print" "za$" A "zb$" = Kompletter Spielplan":print 221 print" "za$" B "zb$" = Ein bestimmter Spieltag":print 222 print" "za$" C "zb$" = Von / bis zu einen Spieltag ":print 223 print" "za$" D "zb$" = Ergebnisse einer Mannschaft":print 224 print" "za$" N "zb$" = Nachholspiele":print 225 print" "za$" M "zb$" = Menue":print:print:print 226 gosub709 227 ifw$="m"thenreturn 228 ifw$="a"thenb1=1:b2=b 229 ifw$="a"thenb3=1:goto240 230 ifw$="b"thenprint" Welcher Spieltag 1 - ";ze$;b;:inputb1:b2=b1 231 ifw$="b"thenb3=2:goto240 232 ifw$="c"orw$="n"thenprint" von welchem Spieltag 1 - ";ze$;b;:inputb1:print 233 ifw$="c"orw$="n"thenprint" bis welchem Spieltag";b1;"- ";ze$;b;:inputb2 234 b4=0:ifw$="n"thenb4=1 235 ifw$="c"orw$="n"thenb3=3:goto240 236 ifw$="d"thengosub435 237 goto219 238 ifb1<1orb1>bthen219 239 ifb2<b1orb2>bthen219 240 printzd$za$z6$zb$:print:print:print 241 print" Druckerausgabe":print:print 242 ifw$="a"thenprint " Kompletter Spielplan" 243 ifw$="b"thenprint " ";b1;ze$;". Spieltag" 244 ifw$="n"thenprint" Nachholspiele":print:print 245 ifw$="c"orw$="n"thenprint " Vom";b1;"bis einschl.";b2;ze$;". Spieltag" 246 print:print:print" Stand : ";da$:print:print 247 print" "za$" M "zb$" = Menue "za$" D "zb$" = Drucken" 248 gosub709 249 ifw$="m"thenreturn 250 ifw$<>"d"then219 251 gosub571 252 gosub 738:close2:open2,4,7 253 print#2,chr$(14);"********** S p i e l p l a n **********"chr$(15) 254 print#2 255 print#2,chr$(14);ln$;" ";"Stand :";da$;chr$(15) 256 ifb3=1then261 257 print#2 258 ifb3=3thenprint#2,chr$(14);" vom";b1;". bis einschl."; 259 ifb3=3thenprint#2,b2;". Spieltag";chr$(15) 260 ifb3=2thenprint#2,chr$(14);" ";b2;". Spieltag";chr$(15) 261 print#2:gosub 711 262 print#2,chr$(14);"{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}";chr$(15) 263 print#2:ifb4=1thengoto425 264 fori=b1tob2step2 265 print#2,"*";i;". Spieltag ";ds$(i); 266 ifi+1>b2thenprint#2 267 ifi+1<=b2thenprint#2,chr$(16)chr$(52)chr$(48);"*";i+1; 268 ifi+1<=b2thenprint#2,". Spieltag ";ds$(i+1) 269 print#2 270 j=1:x=1 271 foryy=jtoc 272 ifd(i,yy)=0thenj=j+1 273 ifd(i,yy)>0then275 274 nextyy 275 print#2,m$(d(i,j));"-";m$(e(i,j));" ";g$(i,d(i,j));":";h$(i,d(i,j)); 276 j=j+1 277 ifb2=b1thenprint#2:goto284 278 forxx=xtoc 279 ifd(i+1,xx)=0thenx=x+1 280 ifd(i+1,xx)>0then282 281 nextxx 282 print#2,chr$(16)chr$(52)chr$(48);m$(d(i+1,x));"-";m$(e(i+1,x));" "; 283 print#2,g$(i+1,d(i+1,x));":";h$(i+1,d(i+1,x)) 284 x=x+1 285 ifx>cthen287 286 goto271 287 print#2 288 nexti 289 print#2:print#2:print#2:close2:gosub739 290 goto219 291 printzd$za$z7$zb$:print 292 r1=1:gosub149 293 printzd$za$z7$zb$:print 294 r1=1:gosub179 295 print:print" "za$" D "zb$" = Drucken "za$" M "zb$" = Menue" 296 gosub709 297 ifw$="m"thenreturn 298 ifw$<>"d"then296 299 gosub 738:close2:open2,4,7 300 print#2 301 print#2,chr$(14);"************ T a b e l l e ************" 302 print#2 303 print#2,ln$;" Stand : ";da$ 304 print#2 305 print#2," einschl.";k;". Spieltag";chr$(15) 306 print#2:gosub 711 307 print#2,chr$(14);"{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}";chr$(15) 308 print#2 309 print#2 310 print#2," Pl. Verein Sp. G U V +T "; 311 print#2," -T TD +P -P " 312 print#2," {CBM-Q}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}"; 313 print#2,"{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-+}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{CBM-W}":ty=0 314 fori=1toa 315 ifm$(z(i))="..............."then327 316 ty=ty+1:print#2,chr$(16)chr$(48)chr$(55);ty; 317 print#2,chr$(16)chr$(49)chr$(50);m$(z(i)); 318 print#2,chr$(16)chr$(50)chr$(56);l(z(i),4); 319 print#2,chr$(16)chr$(51)chr$(52);l(z(i),5); 320 print#2,chr$(16)chr$(51)chr$(56);l(z(i),6); 321 print#2,chr$(16)chr$(52)chr$(50);l(z(i),7); 322 print#2,chr$(16)chr$(52)chr$(55);l(z(i),1); 323 print#2,chr$(16)chr$(53)chr$(50);l(z(i),2); 324 print#2,chr$(16)chr$(53)chr$(55);l(z(i),3); 325 print#2,chr$(16)chr$(54)chr$(51);l(z(i),8); 326 print#2,chr$(16)chr$(54)chr$(56);l(z(i),9) 327 nexti 328 print#2 329 print#2:print#2:print#2:close2:gosub739 330 printzh$zh$zh$:goto295 331 printzd$za$z8$zb$:print:print:print 332 print" Richtige Diskette einlegen":print 333 ifln$=""thenln$="................" 334 gosub709 335 gosub740 336 print:print" Dateiname = ";ln$ 337 printzh$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$zf$;:inputln$ 338 print:printza$z0$zb$:gosub709 339 ifw$<>"j"then331 340 print:print" Wenn fertig dann ";za$zv$zb$:print 341 print" M = Menue" 342 gosub709 343 ifw$="m"thenreturn 344 ifw$<>chr$(13)then331 345 printzd$za$z8$zb$:print:print:print 346 print" Daten werden von Diskette geladen" 347 print:print" Bitte warten":print 348 print:print" ";za$" L{$a0}a d e n "zb$:print 349 gosub 738:close1:open1,8,3,ln$+",s,r" 350 input#1,a:gosub571 351 input#1,ln$ 352 fori=1toa 353 input#1,m$(i) 354 nexti 355 fori=1tob 356 input#1,ds$(i) 357 forj=1toc 358 input#1,d(i,j) 359 input#1,e(i,j) 360 input#1,n$(i,j) 361 input#1,dn$:ifdn$<>"......198."thendn$(i,j)=dn$ 362 nextj 363 nexti 364 fori=1tob 365 forj=1toa 366 input#1,g$(i,j) 367 input#1,h$(i,j) 368 nextj 369 nexti 370 close1:gosub739 371 gosub604 372 gosub571 373 return 374 printzd$za$z9$zb$:print:print:print 375 print" Richtige Diskette einlegen":print 376 print " Dateiname = ";ln$:print 377 print " Wenn fertig dann ";za$zv$zb$:print 378 print " M = Menue" 379 gosub 709 380 if w$="m" then return 381 ifw$<>chr$(13)then374 382 printzd$za$z9$zb$:print:print:print 383 print" Daten werden auf Diskette gespeichert" 384 print:print" Bitte warten":print 385 gosub 587 386 print:print" ";za$" Speichern "zb$:print 387 gosub 738:close1:open1,8,3,"@:"+ln$+",s,w" 388 print#1,a;chr$(13) 389 print#1,ln$;chr$(13) 390 fori=1toa 391 print#1,m$(i);chr$(13) 392 nexti 393 fori=1tob 394 print#1,ds$(i);chr$(13) 395 forj=1toc 396 print#1,d(i,j);chr$(13) 397 print#1,e(i,j);chr$(13) 398 print#1,n$(i,j);chr$(13) 399 print#1,dn$(i,j);chr$(13) 400 nextj 401 nexti 402 fori=1tob 403 forj=1toa 404 print#1,g$(i,j);chr$(13) 405 print#1,h$(i,j);chr$(13) 406 nextj 407 nexti 408 close1:gosub 739 409 gosub604 410 return 411 printzd$za$y9$zb$:print:print 412 print"{$a0} Sind alle Daten auf Diskette":print 413 print" gesichert ?????????? (J/N)":print 414 input" ";w$:print 415 ifw$<>"j"thenreturn 416 print" ";za$" W{$a0}I{$a0}R{$a0}K{$a0}L{$a0}I{$a0}C{$a0}H{$a0} ???? "zb$; 417 input" ";w1$ 418 ifw1$<>"j"thenreturn 419 print:print:print:wx$="" 420 print" N = Neue Liga":print 421 print" E = Programmende" 422 get wx$:ifwx$=""then422 423 ifwx$<>"e"thenclr:goto3 424 sys64738 425 print#2,chr$(14);" N a c h h o l s p i e l e ";chr$(15):print#2 426 fori=b1tob2 427 forj=1toc 428 ifn$(i,j)<>"n"then432 429 print#2,"Vom";:ifi<10thenprint#2," "; 430 print#2,i;".Spieltag ";ds$(i);" ";m$(d(i,j));" - "; 431 print#2,m$(e(i,j));" neu am ";dn$(i,j) 432 nextj 433 nexti 434 goto289 435 gosub571 436 printzd$za$z6$zb$:print 437 print" Druckerausgabe":print:print 438 print" Spielplan einer Mannschaft" 439 print:print" Stand : ";da$:print 440 print" Welcher Manns. ( 1 - ";ze$;a;ze$;" ) ";:inputmn:print 441 ifmn<1ormn>athenprintzh$zh$zh$:goto440 442 print" ";m$(mn):print 443 printza$z0$zb$ 444 gosub709 445 ifw$<>"j"then435 446 printzh$zh$ 447 print" "za$" M "zb$" = Menue "za$" D "zb$" = Drucken " 448 gosub709 449 ifw$="m"thenreturn 450 ifw$<>"d"then448 451 close2:open2,4,7 452 print#2,chr$(14);"****** Spielplan ";m$(mn);" ******";chr$(15):print#2 453 print#2,chr$(14);ln$" Stand : ";da$;chr$(15) 454 print#2:gosub711 455 print#2,chr$(14);"{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}{SHIFT-*}";chr$(15) 456 print#2 457 fori=1tob 458 forj=1toc 459 ifm$(mn)<>m$(d(i,j))andm$(mn)<>m$(e(i,j))then462 460 print#2,i;".";chr$(16)chr$(48)chr$(55);ds$(i);" ..... Uhr "; 461 print#2,m$(d(i,j));" {SHIFT-*} ";m$(e(i,j));" ";g$(i,d(i,j));":"h$(i,d(i,j)) 462 nextj 463 nexti 464 print#2:print#2:print#2:close2 465 print:print:print" Moechten Sie einen weiteren Ausdruck" 466 print:print" von Mannschaft ";m$(mn) " 467 gosub709 468 ifw$="j"then451 469 ifw$<>"n"then467 470 printzh$zh$zh$zh$ 471 print" Moechten Sie einen Ausdruck einer " 472 print:print" anderen Mannschaft ( J/N ) " 473 gosub709 474 ifw$="j"then435 475 ifw$<>"n"then473 476 return 477 printzd$za$z3$zb$:print 478 print:print" Bitte Datum in der Form":print 479 print" > TT.MM.JJJJ < eingeben":print 480 fori=1tobstep2 481 printi;ze$;". ":printzh$zf$zf$zf$zf$zf$zf$;ds$(i) 482 printzh$;:forx=1to20:printzf$;:nextx:print i+1;ze$;". " 483 printzh$;:forx=1to27:printzf$;:nextx:printds$(i+1) 484 nexti 485 print:printza$z0$zb$ 486 gosub709 487 ifw$="j"thenreturn 488 ifw$<>"n"then486 489 printzc$zg$zg$zg$zg$zg$zg$ 490 ifa=17ora=18thenprintzh$zh$zh$ 491 ifa=19ora=20thenprintzh$zh$zh$zh$zh$ 492 fori=1tobstep2 493 printzf$zf$zf$zf$;:inputds$:ds$(i)=left$(ds$,10):printzh$; 494 forx=1to25:printzf$;:nextx:inputds$:ds$(i+1)=left$(ds$,10) 495 nexti 496 goto485 497 foram=1toa 498 ifleft$(m$(am),5)="....."then500 499 an=an+1 500 nextam 501 printzh$" " 502 printzh$zh$zh$" " 503 ifan-1<3thenprintzh$"Nicht zulaessig ! Mannschaftsanzahl < 3" 504 ifan-1<3thenan=0:gosub709:return 505 an=0 506 printzh$" Welche Mannschaft 1 -";a;:input " ";mw 507 printzh$" "za$" Ich korrigiere die Daten von "mw;ze$" "zb$ 508 gosub571 509 fori=1tob 510 forj=1toc 511 ifd(i,j)<>mwande(i,j)<>mwthen515 512 g$(i,d(i,j))="":h$(i,d(i,j))="" 513 g$(i,e(i,j))="":h$(i,e(i,j))="" 514 d(i,j)=0:e(i,j)=0 515 nextj 516 nexti 517 m$(mw)="..............." 518 return 519 fori=int(b/2)+1tob 520 forj=1toc 521 d(i,j)=e(i-b/2,j) 522 e(i,j)=d(i-b/2,j) 523 nextj 524 nexti 525 return 526 printzh$" " 527 printzh$zh$zh$" " 528 ifa+1>20thenprintzh$"Nicht zulaessig ! Mannschaftsanzahl >20" 529 ifa+1>20thengosub709:return 530 a=a+1:gosub571 531 printzh$zh$:print" Neue Mannschaft ..............."; 532 printze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$ze$;:inputm$(a) 533 ifint(a/2)=a/2thenreturn 534 fori=b-2toa+1step-1 535 ds$(i)=ds$(i-2) 536 nexti 537 ds$(a)="......198." 538 ds$(a-1)="......198." 539 ds$(b-1)="......198." 540 ds$(b)="......198." 541 :print:print 542 fori=1to150 543 printza$" Spieltage und Ergebnisse neu setzen "zb$ 544 ifi=150then550 545 printzh$; 546 print" "zh$ 547 print" "zh$ 548 print" "zh$ 549 nexti 550 gosub709 551 return 552 printzc$:forx=1to7:printzg$:nextx 553 ifa>15thenprintzh$zh$ 554 ifa>16thenprintzh$ 555 ifa>17thenprintzh$zh$ 556 ifa>18thenprintzg$zh$ 557 ifa>19thenprintzh$zh$ 558 forj=1toc 559 gg$="":hh$="":n$(i,j)="":g$(i,d(i,j))="":h$(i,d(i,j))="" 560 g$(i,e(i,j))="":h$(i,e(i,j))="":forx=1to17:printzf$;:nextx 561 inputgg$:ifleft$(gg$,3)="..."thengg$="..." 562 ifleft$(gg$,1)="n"thenn$(i,j)=left$(gg$,1):gg$="..." 563 ifgg$<>"..."theng$(i,d(i,j))=str$(val(left$(gg$,3))) 564 printzh$;:forx=1to25:printzf$;:nextx 565 inputhh$:ifleft$(hh$,3)<>"..."thenh$(i,d(i,j))=str$(val(left$(hh$,3))):hh$="" 566 ifn$(i,j)="n"thenh$(i,d(i,j))="":ifn$(i,j)="n"theng$(i,d(i,j))="" 567 g$(i,e(i,j))=h$(i,d(i,j)) 568 h$(i,e(i,j))=g$(i,d(i,j)) 569 nextj 570 return 571 ifint(a/2)=a/2thenb=(a*2)-2:c=a/2 572 ifint(a/2)<>a/2thenb=a*2:c=(a-1)/2 573 return 574 print:print" ";za$" Formatieren "zb$:print 575 fori=1to20 576 ifm$(i)=""thenm$(i)="..............." 577 nexti 578 fori=1to38 579 ifds$(i)=""thends$(i)="......198." 580 nexti 581 fori=1to38 582 forj=1to10 583 ifdn$(i,j)=""thendn$(i,j)="......198." 584 nextj 585 nexti 586 return 587 print:print" ";za$" Formatieren "zb$:print 588 fori=1tob 589 forj=1toc 590 d(i,j)=d(i,j)+10 591 e(i,j)=e(i,j)+10 592 ifn$(i,j)=""thenn$(i,j)="h" 593 nextj 594 nexti 595 fori=1tob 596 forj=1toa 597 ifg$(i,j)=""theng$(i,j)="800" 598 ifh$(i,j)=""thenh$(i,j)="800" 599 g$(i,j)=str$(val(g$(i,j))+100) 600 h$(i,j)=str$(val(h$(i,j))+100) 601 nextj 602 nexti 603 return 604 print:print" ";za$"Reformatieren"zb$:print 605 gosub571 606 fori=1tob 607 forj=1toc 608 d(i,j)=d(i,j)-10 609 e(i,j)=e(i,j)-10 610 ifn$(i,j)="h"thenn$(i,j)="" 611 nextj 612 nexti 613 fori=1tob 614 forj=1toa 615 g$(i,j)=str$(val(g$(i,j))-100) 616 h$(i,j)=str$(val(h$(i,j))-100) 617 ifg$(i,j)=" 800"theng$(i,j)="" 618 ifh$(i,j)=" 800"thenh$(i,j)="" 619 nextj 620 nexti 621 return 622 fori=1toa 623 sm$=str$(1000+l(i,3)) 624 ifl(i,3)<0thensm$=chr$(48)+sm$ 625 ifl(i,3)>=0thensm$=chr$(49)+right$(sm$,3) 626 z(i)=i 627 sr$(i)=str$(l(i,8)+100)+str$(999-l(i,9))+sm$+str$(100+l(i,1))+str$(l(i,2)) 628 nexti 629 n1=1:n2=a 630 i=1 631 j1=n1:j2=n2 632 ifsr$(j1)>=sr$(j2)then640 633 x=z(j1):z(j1)=z(j2):z(j2)=x 634 x$=sr$(j1):sr$(j1)=sr$(j2):sr$(j2)=x$ 635 j1=j1+1 636 ifj1=j2then642 637 ifsr$(j1)>=sr$(j2)then635 638 x=z(j1):z(j1)=z(j2):z(j2)=x 639 x$=sr$(j1):sr$(j1)=sr$(j2):sr$(j2)=x$ 640 j2=j2-1 641 ifj2<>j1then632 642 j2=j2+1 643 ifj2>=n2then646 644 k1(i,1)=j2:k1(i,2)=n2 645 i=i+1 646 j1=j1-1 647 ifn1>=j1then650 648 n2=j1 649 goto631 650 i=i-1 651 ifi<1then654 652 n1=k1(i,1):n2=k1(i,2) 653 goto631 654 return 655 za$=chr$(18):zb$=chr$(146):zc$=chr$(19):zd$=chr$(147) 656 ze$=chr$(157):zf$=chr$(29):zg$=chr$(17):zh$=chr$(145) 657 zz$="B{$a0}I{$a0}L{$a0}D{$a0}S{$a0}C{$a0}H{$a0}I{$a0}R{$a0}M" 658 zy$="D{$a0}R{$a0}U{$a0}C{$a0}K{$a0}E{$a0}R{$a0}" 659 zx$="D{$a0}I{$a0}S{$a0}K{$a0}E{$a0}T{$a0}T{$a0}E" 660 zv$="Return" 661 zw$="Mannschaften -e-s-k-" 662 zt$="Spieltage -e-s-k-" 663 zs$="Tabellen -s- " 664 zr$="Mannschaftsliste -d- " 665 zq$="Spieltage -d- " 666 zp$="Tabelle -d- " 667 zo$="Daten laden von Diskette " 668 zn$="Daten speichern auf Diskette" 669 zm$=" Neue Liga / PROGAMMENDE " 670 zl$=" e=eingeben s=sichten k=korrigieren" 671 zk$=" M=Menue K=korrigieren CRSR=blaettern " 672 z1$="ligatab{CBM-L} M{$a0}E{$a0}N{$a0}U{$a0}E{$a0} {CBM-J}by heuser" 673 z2$="ligatab{CBM-L}Mannschaften -e-s-k- {CBM-J}by heuser" 674 z3$="ligatab{CBM-L} Spieltage -e-s-k- {CBM-J}by heuser" 675 z4$="ligatab{CBM-L} Tabellen -s- {CBM-J}by heuser" 676 z5$="ligatab{CBM-L}Mannschaftsliste -d- {CBM-J}by heuser" 677 z6$="ligatab{CBM-L} Spieltage -d- {CBM-J}by heuser" 678 z7$="ligatab{CBM-L} Tabellen -d- {CBM-J}by heuser" 679 z8$="ligatab{CBM-L} Daten von Disk. la. {CBM-J}by heuser" 680 z9$="ligatab{CBM-L} Daten auf Disk. sp. {CBM-J}by heuser" 681 y9$="ligatab{CBM-L} Neue Liga/Prg.-Ende {CBM-J}by heuser" 682 z0$="ligatab{CBM-L} Eingabe ok (J/N) {CBM-J}by heuser" 683 nz$="ligatab{CBM-L}Nachholspiele -e-s-k-{CBM-J}by heuser" 684 return 685 gosub571 686 fori=1tob 687 printzd$za$nz$zb$:print 688 printi;". Spieltag vom ";ds$(i):print:nz=0 689 forj=1toc 690 ifn$(i,j)<>"n"then692 691 printm$(d(i,j));" - ";m$(e(i,j)):nz=1:print"^^ Neues Datum : ";dn$(i,j) 692 nextj 693 ifnz=0thenprint" Keine Nachholspiele !!!" 694 print:printza$zk$zb$ 695 gosub709 696 ifw$=zh$theni=i:ifi=btheni=0 697 ifw$=zg$theni=i-2:ifi<0theni=b-1 698 ifw$="k"thengosub702 699 ifw$="m"thenreturn 700 nexti 701 return 702 printzc$zg$zg$zg$zg$ 703 forj=1toc 704 ifn$(i,j)<>"n"then706 705 input"^^ Neues Datum : ";dn$(i,j):printzg$zh$ 706 nextj 707 return 708 gosub723 709 gosub723:gosub730 710 return 711 print#2,"ligatab";chr$(16)chr$(54)chr$(57);"by heuser":return 712 printzd$za$z3$zb$:print 713 forx=1toastep2 714 printx; 715 ifx<10thenprint" "; 716 printm$(x); 717 ifx+1<=athenprintx+1; 718 ifx+1<=aandx+1<10thenprint" "; 719 ifx+1<=athenprintm$(x+1) 720 nextx 721 print:ifx+1>aandx+1<20thenprint 722 return 723 si=54272:fl=si:fh=si+1:tl=si+2:th=si+3:wt=si+4:at=si+5:ht=si+6:lt=si+24 724 pokelt,15:poketh,15:poketl,15:pokeat,0*16+0:pokeht,15*16 725 poke wt,65 726 for xt=50to0step-2:pokefh,40:pokefl,xt:next 727 for xt=50to0step-4:pokefh,40:pokefl,xt:next 728 pokewt,0 729 return 730 getw$:ifw$=""then730 731 return 732 ifg$(i,d(i,j))=""theng$(i,d(i,j))=" ..." 733 ifh$(i,d(i,j))=""thenh$(i,d(i,j))=" ..." 734 return 735 ifg$(i,d(i,j))=" ..."theng$(i,d(i,j))="" 736 ifh$(i,d(i,j))=" ..."thenh$(i,d(i,j))="" 737 return 738 poke 56334,peek(56334)and 254:return 739 poke 56334,peek(56334) or 1:return 740 close15:close2:printchr$(147);za$z8$zb$:print 741 open15,8,15,"i0":open2,8,2,"#" 742 t=18:s=1 743 print#15,"u1";2;0;t;s 744 print#15,"b-p";2;0 745 get#2,xx$:ifxx$=""thenxx$=chr$(0) 746 t=asc(xx$) 747 get#2,xx$:ifxx$=""thenxx$=chr$(0) 748 s=asc(xx$) 749 forxy=0to7 750 print#15,"b-p";2;xy*32+2 751 get#2,xx$:ifxx$=""thenxx$=chr$(0) 752 ifasc(xx$)=0then762 753 print#15,"b-p";2;xy*32+5 754 ff$="" 755 foryx=0to15 756 get#2,xx$:ifxx$=""thenxx$=chr$(0) 757 ifasc(xx$)=160then760 758 ff$=ff$+xx$ 759 nextyx 760 ifaa=0thenaa=1:print" ";ff$:goto762 761 aa=0:print" ";ff$ 762 nextxy 763 ift<>0then743 764 close2:close15 765 return