C 64
Listing des Monats

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:
  • Anzahl der Mannschaften minimal 3, maximal 20
  • Anzahl der Spieltage minimal 4, maximal 38
  • Ergebnisse maximal dreistellig
Autor:
Heuser, Franz-Josef In den Atzenbenden 74 5100 Aachen-Haaren
Die technischen Daten von »Ligatab«

»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.

BildschirmausgabeAuswahl 1,2,3
DruckerausgabeAuswahl 4,5,6
DiskettenoperationenAuswahl 7,8
Neue Liga/ProgrammendeAuswahl 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:

  1. bei gerader Anzahl Mannschaften:
    (Anzahl der Mannschaften * 2) — 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:

  1. bei gerader Anzahl Mannschaften:
    Anzahl der Mannschaften/2
  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:

  1. M = Menü
  2. K = Korrigieren
  3. 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.

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

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?

  1. — Sie wählen im Hauptmenü »2 = Spieltage -e-s-k-«
  2. — Sie wählen im Untermenü »s = Ergebnis -e-s-k-«.
  3. — Sie wählen für den Start den 12. Spieltag.
  4. — Sie wählen »K« für korrigieren.
  5. — Bei nicht zu korrigierenden Ergebnissen: RETURN
  6. — 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:

Bildschirmausgabe der Nachholspiele und eintragen des Datums

Was tun:

  1. — Sie wählen im Hauptmenü »2 = Spieltage -e-s-k-«.
  2. — Sie wählen im Untermenü »N = Nachholspiele«.
  3. — Sie sehen auf dem Bildschirm die Nachholspiele des 1. Spieltages oder die Meldung »Keine Nachholspiele!«
  4. — Sie können nun mit den Cursor-Tasten blättern.
  5. — 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:

  1. — Sie wählen im Hauptmenü »5 = Spieltage -d-«.
  2. — Sie wählen im Untermenü »N = Nachholspiele«.
  3. — Sie beantworten die Frage von/bis zu welchem Spieltag.
  4. — 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:

  1. — Sie wählen im Hauptmenü »1 = Mannschaften -e-s-k-«.
  2. — Sie verneinen die Frage »EINGABE OK« mit »N« für Nein.
  3. — Sie geben »A« für »ANZAHL FALSCH« ein.
  4. — Sie geben »—« für »EINE MANNSCHAFT WENIGER« ein.
  5. — 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:

Mannschaften nachmelden

Hier müssen Sie drei verschiedene Voraussetzungen unterscheiden.

  1. Sie haben eine Liga mit ungerader Anzahl von Mannschaften, und alle Plätze sind bereits besetzt.
  2. Sie haben eine Liga mit gerader Anzahl von Mannschaften, und alle Plätze sind bereits besetzt.
  3. 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:

  1. — Sie wählen im Hauptmenü »1 = Mannschaften -e-s-k-«.
  2. — Sie verneinen die Frage »EINGABE OK« mit »N« für Nein.
  3. — Sie geben »A« für »ANZAHL FALSCH« ein.
  4. — Sie geben »+«für »EINE MANNSCHAFT MEHR« ein.
  5. — Sie geben den Mannschaftsnamen ein.
  6. — Sie bestätigen »EINGABE OK« mit »J« für Ja.
  7. — Sie wählen im Hauptmenü »2 = SPIELTAGE -e-s-k-«.
  8. — Sie wählen »E« im Untermenü.
  9. — Sie starten mit dem 1. Spieltag.
  10. — Sie setzen die Spiele der neuen Mannschaft gegen die, die bisher spielfrei war.
  11. — 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:

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:

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:

  1. — Sie legen eine Liga mit 16 Mannschaften, einschließlich komplettem Spielplan und Spieltagsdatum an.
  2. — Wie vor, jedoch mit 14 Mannschaften.
  3. — 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)
Beispielausdruck einer Tabelle
Hardcopy des Hauptmenüs von »Ligatab«
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
Listing »Ligatab«
PDF Diesen Artikel als PDF herunterladen
Mastodon Diesen Artikel auf Mastodon teilen
← Vorheriger ArtikelNächster Artikel →