Initialisatie:

DIM ploeg$(20),datum$(20,20),setthuis(20,20),setbezoek(20,20)
DIM kalender(400,1)
DIM punten(20),wedstrijden(20),wedstrijdgewonnen(20),wedstrijdverloren(20)
DIM setgewonnen(20),setverloren(20),rang(20)
ploegen=12:dag$(1)="01":dag$(2)="07":dag$(3)="88":vandaag$="880701"
maxwedstrijd=0
FOR x=0 TO 20
   FOR y=0 TO 20
      datum$(x,y)="999999"
   NEXT y
NEXT x   
FOR x=1 TO 20
   rang(x)=x
NEXT x   
SCREEN CLOSE 2

Welcome:
WINDOW OUTPUT 1
CLS:PRINT
PRINT
PRINT"  Wil je een reeks die al gesaved is ?"
LINE (420,10)-(480,30),2,bf:LINE (420,10)-(480,30),1,b
LINE (520,10)-(580,30),2,bf:LINE (520,10)-(580,30),1,b
COLOR 3,2
LOCATE 3,56:PRINT "JA":LOCATE 3,68:PRINT "NEE"
Wacht:
GOSUB Muisbesturing
IF MOUSE(3)>420 AND MOUSE(3)<480 AND MOUSE(4)>10 AND MOUSE(4)<30 THEN a$="y"
IF MOUSE(3)>520 AND MOUSE(3)<580 AND MOUSE(4)>10 AND MOUSE(4)<30 THEN a$="n"
IF a$<>"y" AND a$<>"n" THEN Wacht
COLOR 1,0
LOCATE 5,3:INPUT "naam van de reeks: ",reeks$
LOCATE 8,3:PRINT "aantal ploegen   : ":LOCATE 8,22:PRINT ploegen:GOSUB Kiesaantalploegen
IF a$="y" THEN GOSUB Laadresultaat ELSE GOSUB Maakafdeling
GOSUB Maakmenu
GOTO main

Maakafdeling:
GOSUB Noemploegen
file$="Reeksen/"+reeks$
OPEN file$ FOR OUTPUT AS #1
FOR x=1 TO ploegen
   WRITE #1,ploeg$(x)
NEXT x
WRITE #1,maxwedstrijd
FOR x=1 TO ploegen
FOR y=1 TO ploegen
   d$="000000"  'Datum
   st=0         'Sets thuisploeg
   sb=0         'Sets bezoekers
   WRITE #1,d$,st,sb
NEXT y
NEXT x
FOR x=1 TO maxwedstrijd
   WRITE #1,kalender(x,0)
   WRITE #1,kalender(x,1)
NEXT x   
CLOSE #1
RETURN

Laadresultaat:
file$="Reeksen/"+reeks$
OPEN "I",#1,file$
FOR x=1 TO ploegen
   INPUT #1,ploeg$(x)
NEXT x   
INPUT #1,maxwedstrijd
FOR x=1 TO ploegen
FOR y=1 TO ploegen
   INPUT #1,datum$(x,y),setthuis(x,y),setbezoek(x,y)
NEXT y
NEXT x
FOR x=1 TO maxwedstrijd
   INPUT #1,kalender(x,0)
   INPUT #1,kalender(x,1)
NEXT x   
CLOSE #1
RETURN

Maakmenu:
CLS
MENU 1,0,1,"Reeks"
MENU 1,1,1,"Load "
MENU 1,2,1,"Save "
MENU 1,3,1,"Dag  "
MENU 1,4,1,"Quit "  
MENU 1,5,1,"Basic"

MENU 2,0,1,"Uitslagen"
MENU 2,1,1,"Invullen "
MENU 2,2,1,"Zoeken   "
MENU 2,3,1,"Wijzigen "
MENU 2,4,1,"Ploeg    "
MENU 2,5,1,"Weekend  "
MENU 2,6,1,"Algemeen "

MENU 3,0,1,"Kalender "
MENU 3,1,1,"Invulllen"
MENU 3,2,1,"Zoeken   "
MENU 3,3,1,"Wijzigen "

MENU 4,0,1,"Rangschikking   "
MENU 4,1,1,"Volledig        "
MENU 4,2,1,"Thuiswedstrijden"
MENU 4,3,1,"Uitwedstrijden  "

MENU 5,0,1,"Grafieken"
MENU 5,1,1,"Punten   "
MENU 5,2,1,"Sets     "

ON MENU GOSUB main:MENU ON
RETURN

main:
men=MENU(0):men1=MENU(1)
ON men GOTO men1,men2,men3,men4,men5
GOTO main
men1:
ON men1 GOSUB Laadresultaten,Saveresultaten,dagbepaling,Quit,Basic
GOTO main
men2:
ON men1 GOSUB uitslagen,uitslagen,uitslagen,Ploeguitslagen,Weekenduitslagen,Algemeenuitslagen
GOTO main
men3:
ON men1 GOSUB Kalenders,Kalenders,Kalenders,Ploegkalender
GOTO main
men4:
ON men1 GOSUB Rangschikking,Rangschikking,Rangschikking
GOTO main
men5:
ON men1 GOSUB gpunten,gsetgem
GOTO main
         
Quit:
GOSUB Saveresultaten
MENU RESET
SYSTEM

Kiesaantalploegen:
COLOR 2
AREA (320,50):AREA STEP (32,0):AREA STEP (-16,-16):AREA STEP (-16,16)
AREAFILL
LINE (320,50)-(352,50),1:LINE (352,50)-(336,34),1:LINE (336,34)-(320,50),1
LINE (320,52)-(352,68),2,bf:LINE (320,52)-(352,68),1,b
COLOR 3,2:LOCATE 8,42:PRINT"OK"
COLOR 2
AREA (320,70):AREA STEP (32,0):AREA STEP (-16,16):AREA STEP (-16,-16)
AREAFILL                 
LINE (320,70)-(352,70),1:LINE (352,70)-(336,86),1:LINE (336,86)-(320,70),1
COLOR 1,0
wachtaantalploegen:
LOCATE 8,22:PRINT ploegen
GOSUB Muisbesturing
IF MOUSE(3)>320 AND MOUSE(3)<352 THEN
   IF MOUSE(4)>34 AND MOUSE(4)<50 THEN IF ploegen<20 THEN ploegen=ploegen+1
   IF MOUSE(4)>52 AND MOUSE(4)<68 THEN RETURN
   IF MOUSE(4)>70 AND MOUSE(4)<86 THEN IF ploegen>2 THEN ploegen=ploegen-1   
END IF
GOTO wachtaantalploegen

Noemploegen:
LINE (35,90)-(600,180),0,bf
LINE (400,60)-(600,90),0,bf
FOR x=1 TO ploegen
LOCATE 15,3:PRINT "                                                "
LOCATE 15,3:PRINT "PLOEG ";x;:INPUT ": ",ploeg$(x)
NEXT x
LINE (35,90)-(600,180),0,bf
LINE (35,90)-(600,180),1,b
FOR x=1 TO ploegen
IF x<11 THEN LOCATE 12+x,10 ELSE LOCATE 2+x,40
IF x<10 THEN PRINT " ";x". ";ploeg$(x) ELSE PRINT x". ";ploeg$(x)
NEXT x
LINE (400,60)-(600,90),2,bf
LINE (400,60)-(500,90),1,b:LINE (500,60)-(600,90),1,b
COLOR 3,2
LOCATE 10,54:PRINT "JUIST":LOCATE 10,67:PRINT "FOUT":COLOR 1,0 
pauze:
GOSUB Muisbesturing
IF MOUSE(3)>400 AND MOUSE(3)<500 AND MOUSE(4)>60 AND MOUSE(4)<90 THEN RETURN
IF MOUSE(3)>500 AND MOUSE(3)<600 AND MOUSE(4)>60 AND MOUSE(4)<90 THEN Noemploegen
                     
Laadresultaten:
CLS
GOSUB Saveresultaten
WINDOW 5,"Load",(100,100)-(330,150),2
WINDOW OUTPUT 5
PRINT"Welke reeks wenst U?"
PRINT
INPUT"naam: ",reeks$
PRINT
INPUT"ploegen: ",ploegen
GOSUB Laadresultaat
WINDOW CLOSE 5
RETURN

Saveresultaten:
file$="Reeksen/"+reeks$
OPEN file$ FOR OUTPUT AS #1
FOR x=1 TO ploegen
   WRITE #1,ploeg$(x)
NEXT x
WRITE #1,maxwedstrijd
FOR x=1 TO ploegen
FOR y=1 TO ploegen
   WRITE #1,datum$(x,y),setthuis(x,y),setbezoek(x,y)
NEXT y
NEXT x
FOR x=1 TO maxwedstrijd
   WRITE #1,kalender(x,0)
   WRITE #1,kalender(x,1)
NEXT x   
CLOSE #1
RETURN

dagbepaling:
WINDOW 5,"Dag",(50,50)-(450,150),2
WINDOW OUTPUT 5
LOCATE 3,5:PRINT"Welke dag wenst U?"
LOCATE 8,10:PRINT dag$(1):LOCATE 8,12:PRINT "/"
LOCATE 8,13:PRINT dag$(2):LOCATE 8,15:PRINT "/"
LOCATE 8,16:PRINT dag$(3)
LINE (58,54)-(148,64),1,b
COLOR 2
AREA (320,50):AREA STEP (32,0):AREA STEP (-16,-16):AREA STEP (-16,16)
AREAFILL
LINE (320,50)-(352,50),1:LINE (352,50)-(336,34),1:LINE (336,34)-(320,50),1
LINE (320,52)-(352,68),2,bf:LINE (320,52)-(352,68),1,b
COLOR 3,2:LOCATE 8,42:PRINT"OK"
COLOR 2
AREA (320,70):AREA STEP (32,0):AREA STEP (-16,16):AREA STEP (-16,-16)
AREAFILL                 
LINE (320,70)-(352,70),1:LINE (352,70)-(336,86),1:LINE (336,86)-(320,70),1
COLOR 1,0
dag(1)=VAL(dag$(1)):dag(2)=VAL(dag$(2)):dag(3)=VAL(dag$(3))
wachtdagbepaling:
GOSUB Muisbesturing
IF MOUSE(4)>52 AND MOUSE(4)<68 THEN
   IF MOUSE(3)>320 AND MOUSE(3)<352 THEN WINDOW CLOSE 5:RETURN
   IF MOUSE(3)<73 OR MOUSE(3)>131 THEN pointer=0:GOTO wachtdagbepaling
   IF MOUSE(3)>72 AND MOUSE(3)<92 THEN pointer=1
   IF MOUSE(3)>91 AND MOUSE(3)<112 THEN pointer=2
   IF MOUSE(3)>111 AND MOUSE(3)<132 THEN pointer=3
END IF   
COLOR 3,2
IF MOUSE(3)>320 AND MOUSE(3)<352 THEN
   IF MOUSE(4)>34 AND MOUSE(4)<50 THEN dag(pointer)=dag(pointer)+1 
   IF MOUSE(4)>52 AND MOUSE(4)<68 THEN WINDOW CLOSE 5:RETURN
   IF MOUSE(4)>70 AND MOUSE(4)<86 THEN IF dag(pointer)>1 THEN dag(pointer)=dag(pointer)-1
END IF
FOR x=1 TO 3
dag$(x)=STR$(dag(x))
dag$(x)=RIGHT$(dag$(x),LEN(dag$(x))-1)
IF dag(x)<10 THEN dag$(x)="0"+dag$(x)
NEXT x
vandaag$=dag$(3)+dag$(2)+dag$(1)
IF pointer=1 THEN LOCATE 8,10:PRINT dag$(1):COLOR 1,0:LOCATE 8,13:PRINT dag$(2):LOCATE 8,16:PRINT dag$(3)
IF pointer=2 THEN LOCATE 8,13:PRINT dag$(2):COLOR 1,0:LOCATE 8,10:PRINT dag$(1):LOCATE 8,16:PRINT dag$(3)
IF pointer=3 THEN LOCATE 8,16:PRINT dag$(3):COLOR 1,0:LOCATE 8,10:PRINT dag$(1):LOCATE 8,13:PRINT dag$(2)
GOTO wachtdagbepaling

uitslagen:
keuze=men1
WINDOW 5,"Uitslagen",(20,20)-(500,180),2
WINDOW OUTPUT 5
LOCATE 3,3:PRINT"Wedstrijdnr:"
LOCATE 3,30:PRINT"Status:"
LOCATE 5,3:PRINT"Datum:"
LOCATE 9,3:PRINT"Thuis:"
LOCATE 11,3:PRINT"Bezoekers:"
LINE (134,14)-(164,24),1,b
LINE (78,30)-(158,40),1,b
LINE (110,62)-(310,72),1,b
LINE (110,78)-(310,88),1,b
LINE (325,62)-(355,72),1,b
LINE (325,78)-(355,88),1,b
GOSUB Showkeuze
COLOR 2
AREA (400,65):AREA STEP (32,0):AREA STEP (-16,-16):AREA STEP (-16,16)
AREAFILL
LINE (400,65)-(432,65),1:LINE (432,65)-(416,49),1:LINE (416,49)-(400,65),1
LINE (400,67)-(432,83),2,bf:LINE (400,67)-(432,83),1,b
COLOR 3,2:LOCATE 10,52:PRINT"OK"
COLOR 2
AREA (400,85):AREA STEP (32,0):AREA STEP (-16,16):AREA STEP (-16,-16)
AREAFILL                 
LINE (400,85)-(432,85),1:LINE (432,85)-(416,101),1:LINE (416,101)-(400,85),1
GOSUB Eersterecord
GOSUB Recordafdruk
GOTO Bepaalfunktie

Eersterecord:
wedstrijdnr=1
IF keuze=1 THEN
   WHILE  status$<>"NIET-GEKEND" AND wedstrijdnr<=maxwedstrijd
   thuisploeg=kalender(wedstrijdnr,0)
   bezoekers=kalender(wedstrijdnr,1)
   IF setthuis(thuisploeg,bezoekers)=0 AND setbezoek(thuisploeg,bezoekers)=0 THEN status$="NIET-GEKEND" ELSE status$="   GEKEND  "
   wedstrijdnr=wedstrijdnr+1
   WEND
   wedstrijdnr=wedstrijdnr-1
END IF
IF wedstrijdnr=0 THEN wedstrijdnr=1
IF keuze=2 OR keuze=3 THEN wedstrijdnr=maxwedstrijd
RETURN   

Muisbesturing:
IF MOUSE(0)<>0 AND muis=0 THEN muis=1:SOUND 1000,1:RETURN
muis=0
GOTO Muisbesturing

Bepaalfunktie:
GOSUB Muisbesturing
IF MOUSE(3)>400 AND MOUSE(3)<432 THEN
   IF MOUSE(4)>49 AND MOUSE(4)<65 THEN Up
   IF MOUSE(4)>67 AND MOUSE(4)<83 THEN OK
   IF MOUSE(4)>85 AND MOUSE(4)<101 THEN Down
END IF   
IF MOUSE(4)>130 AND MOUSE(4)<150 THEN
   IF MOUSE(3)>25 AND MOUSE(3)<95 THEN keuze=1:GOSUB Showkeuze:GOTO Bepaalfunktie
   IF MOUSE(3)>145 AND MOUSE(3)<215 THEN keuze=2:GOSUB Showkeuze:GOTO Bepaalfunktie
   IF MOUSE(3)>265 AND MOUSE(3)<335 THEN keuze=3:GOSUB Showkeuze:GOTO Bepaalfunktie
   IF MOUSE(3)>385 AND MOUSE(3)<455 THEN WINDOW CLOSE 5:RETURN
END IF
GOTO Bepaalfunktie

Showkeuze:   
IF keuze=1 THEN c=2 ELSE c=1
LINE (25,130)-(100,150),c,bf
COLOR 3,c:LOCATE 18,5:PRINT"INVULLEN"
IF c=2 THEN c=1 ELSE c=2
LINE (25,130)-(100,150),c,b
IF keuze=2 THEN c=2 ELSE c=1
LINE (145,130)-(220,150),c,bf
COLOR 3,c:LOCATE 18,21:PRINT"ZOEKEN"
IF c=2 THEN c=1 ELSE c=2
LINE (145,130)-(220,150),c,b
IF keuze=3 THEN c=2 ELSE c=1
LINE (265,130)-(340,150),c,bf
COLOR 3,c:LOCATE 18,35:PRINT"WIJZIGEN"
IF c=2 THEN c=1 ELSE c=2
LINE (265,130)-(340,150),c,b
IF keuze=4 THEN c=2 ELSE c=1
LINE (385,130)-(460,150),1,bf
COLOR 3,c:LOCATE 18,52:PRINT"STOP"
LINE (385,130)-(460,150),2,b
RETURN      

OK:
IF keuze=1 AND status$="NIET-GEKEND" THEN
   LOCATE 9,43:COLOR 1,0:PRINT" ":LOCATE 9,43:COLOR 3,2:INPUT "",setthuis(thuisploeg,bezoekers):LOCATE 9,42:COLOR 1,0:PRINT setthuis(thuisploeg,bezoekers)
   LOCATE 11,43:COLOR 1,0:PRINT" ":LOCATE 11,43:COLOR 3,2:INPUT "",setbezoek(thuisploeg,bezoekers):LOCATE 11,42:COLOR 1,0:PRINT setbezoek(thuisploeg,bezoekers)
   IF setthuis(thuisploeg,bezoekers)=9 THEN setthuis(thuisploeg,bezoekers)=0:setbezoek(thuisploeg,bezoekers)=0:GOTO Bepaalfunktie
   IF setthuis(thuisploeg,bezoekers)<0 OR setthuis(thuisploeg,bezoekers)>4 THEN OK
   IF setbezoek(thuisploeg,bezoekers)<0 OR setbezoek(thuisploeg,bezoekers)>4 THEN OK
   IF setthuis(thuisploeg,bezoekers)<>3 AND setbezoek(thuisploeg,bezoekers)<>3 THEN OK
   IF setthuis(thuisploeg,bezoekers)=3 AND setbezoek(thuisploeg,bezoekers)=3 THEN OK
   IF wedstrijdnr<maxwedstrijd THEN wedstrijdnr=wedstrijdnr+1
   GOSUB Recordafdruk
   GOTO OK
END IF
IF keuze=2 THEN
   LOCATE 9,15:COLOR 1,0:PRINT"                    ":LOCATE 9,15:COLOR 3,2:INPUT "",thuisploeg$:LOCATE 9,15:COLOR 1,0:PRINT thuisploeg$
   LOCATE 11,15:COLOR 1,0:PRINT"                    ":LOCATE 11,15:COLOR 3,2:INPUT "",bezoekers$:LOCATE 11,15:COLOR 1,0:PRINT bezoekers$
   thuisploeg=0:bezoekers=0
   FOR x=1 TO ploegen
   IF thuisploeg$=ploeg$(x) THEN thuisploeg=x
   IF bezoekers$=ploeg$(x) THEN bezoekers=x
   NEXT x
   IF thuisploeg=0 OR bezoekers=0 THEN OK
   wedstrijdnr=1
   WHILE (kalender(wedstrijdnr,0)<>thuisploeg OR kalender(wedstrijdnr,1)<>bezoekers) AND wedstrijdnr<maxwedstrijd
      wedstrijdnr=wedstrijdnr+1
   WEND
   GOSUB Recordafdruk
   GOTO Bepaalfunktie
END IF
IF keuze=3 THEN
   LOCATE 9,43:COLOR 1,0:PRINT " ":LOCATE 9,43:COLOR 3,2:INPUT "",setthuis(thuisploeg,bezoekers):LOCATE 9,42:COLOR 1,0:PRINT setthuis(thuisploeg,bezoekers)
   LOCATE 11,43:COLOR 1,0:PRINT " ":LOCATE 11,43:COLOR 3,2:INPUT "",setbezoek(thuisploeg,bezoekers):LOCATE 11,42:COLOR 1,0:PRINT setbezoek(thuisploeg,bezoekers)
   IF setthuis(thuisploeg,bezoekers)<0 OR setthuis(thuisploeg,bezoekers)>4 THEN OK
   IF setbezoek(thuisploeg,bezoekers)<0 OR setbezoek(thuisploeg,bezoekers)>4 THEN OK
   IF setthuis(thuisploeg,bezoekers)<>3 AND setbezoek(thuisploeg,bezoekers)<>3 THEN OK
   IF setthuis(thuisploeg,bezoekers)=3 AND setbezoek(thuisploeg,bezoekers)=3 THEN OK
   GOSUB Recordafdruk
   GOTO Bepaalfunktie
END IF

Up:
IF wedstrijdnr<maxwedstrijd THEN wedstrijdnr=wedstrijdnr+1
GOSUB Recordafdruk
GOTO Bepaalfunktie

Down:
IF wedstrijdnr>1 THEN wedstrijdnr=wedstrijdnr-1
GOSUB Recordafdruk
GOTO Bepaalfunktie

Recordafdruk:
COLOR 1,0
wedstrijddag$(0)=datum$(kalender(wedstrijdnr,0),kalender(wedstrijdnr,1))                    
wedstrijddag$(1)=MID$(wedstrijddag$(0),5,2)
wedstrijddag$(2)=MID$(wedstrijddag$(0),3,2)
wedstrijddag$(3)=MID$(wedstrijddag$(0),1,2)
thuisploeg=kalender(wedstrijdnr,0)
bezoekers=kalender(wedstrijdnr,1)
IF setthuis(thuisploeg,bezoekers)=0 AND setbezoek(thuisploeg,bezoekers)=0 THEN status$="NIET-GEKEND" ELSE status$="   GEKEND  "
LOCATE 3,18:PRINT USING "###";wedstrijdnr
IF status$="NIET-GEKEND" THEN c=1 ELSE c=2
LINE (298,14)-(400,24),c,bf
COLOR 3,c
LOCATE 3,39:PRINT status$
IF c=2 THEN c=1 ELSE c=2
LINE (298,14)-(400,24),c,b
COLOR 1,0
sp$="                    "
LOCATE 5,12:PRINT wedstrijddag$(1)+"/"+wedstrijddag$(2)+"/"+wedstrijddag$(3)
LOCATE 9,15:PRINT ploeg$(thuisploeg)+RIGHT$(sp$,20-LEN(ploeg$(thuisploeg)))
LOCATE 11,15:PRINT ploeg$(bezoekers)+RIGHT$(sp$,20-LEN(ploeg$(bezoekers)))
LOCATE 9,42:PRINT setthuis(thuisploeg,bezoekers)
LOCATE 11,42:PRINT setbezoek(thuisploeg,bezoekers)
RETURN           

Algemeenuitslagen:
WINDOW 5,"Algemene uitslagen",(20,20)-(600,180),2
WINDOW OUTPUT 5
LOCATE 1,22
COLOR 1,0
FOR x=1 TO ploegen
PRINT USING "####";x;
NEXT x
FOR x=1 TO ploegen
LOCATE 2+x,1:PRINT USING "##";x;
PRINT " ";
PRINT ploeg$(x);
FOR y=1 TO ploegen
    IF setthuis(x,y)=0 AND setbezoek(x,y)=0 THEN
       a$="NG."
       IF x=y THEN a$=" X "
    ELSE
       a$=RIGHT$(STR$(setthuis(x,y)),1)+"-"+RIGHT$(STR$(setbezoek(x,y)),1)
    END IF
    PRINT TAB(24+4*(y-1));a$;
NEXT y        
NEXT x
LINE (205,130)-(280,150),1,bf
COLOR 3,1:LOCATE 18,29:PRINT"STOP"
LINE (205,130)-(280,150),2,b
LINE (325,130)-(400,150),1,bf
COLOR 3,1:LOCATE 18,43:PRINT"PRINTER"
LINE (325,130)-(400,150),2,b
a=MOUSE(0)
test:
a=MOUSE(0)
IF a=0 THEN test
IF MOUSE(2)>130 AND MOUSE(2)<150 THEN
   IF MOUSE(1)>205 AND MOUSE(1)<280 THEN 
      WINDOW CLOSE 5
      RETURN
   ELSE 
      IF MOUSE(1)>325 AND MOUSE(1)<400 THEN
          GOTO Algemeenprint
      END IF    
   END IF
END IF
GOTO test

Algemeenprint:
LPRINT TAB(20);"Algemene uitslagen ";reeks$
LPRINT TAB(20);"-------------------";LEFT$("---------------------------",LEN(reeks$))
LPRINT
LPRINT
LPRINT TAB(21);" ";
FOR x=1 TO ploegen
   LPRINT USING "####";x;
NEXT x
LPRINT
FOR x=1 TO ploegen
LPRINT USING "##";x;
LPRINT " ";
LPRINT ploeg$(x);
FOR y=1 TO ploegen
   IF setthuis(x,y)=0 AND setbezoek(x,y)=0 THEN
      a$="NG."
      IF x=y THEN a$=" X "
   ELSE
      a$=RIGHT$(STR$(setthuis(x,y)),1)+"-"+RIGHT$(STR$(setbezoek(x,y)),1)
   END IF
   LPRINT TAB(24+4*(y-1));a$;
NEXT y
LPRINT CHR$(13)
NEXT x
WINDOW CLOSE 5
RETURN      
   
            
Kalenders:
keuze=men1
keuzeterrein=1
IF keuze=1 THEN keuze=5
WINDOW 5,"Kalender",(20,20)-(620,180),2
WINDOW OUTPUT 5
LINE (10,5)-(470,90),1,b
FOR x=1 TO ploegen
IF x<11 THEN LOCATE 1+x,5 ELSE LOCATE -9+x,35
IF x<10 THEN PRINT " ";x". ";ploeg$(x) ELSE PRINT x". ";ploeg$(x)
NEXT x
GOSUB Showkeuze
LINE (505,130)-(580,150),1,bf
COLOR 3,1:LOCATE 18,66:PRINT"DATUM"
LINE (505,130)-(580,150),2,b
COLOR 1,0
LOCATE 13,3:PRINT "Thuisploeg:"
LOCATE 15,3:PRINT "Bezoekers:"
LINE (110,94)-(310,104),1,b
LINE (110,110)-(310,120),1,b
LOCATE 13,49:PRINT "Nummer:"
LINE (450,94)-(480,104),1,b
LOCATE 15,49:PRINT "Datum :"
LINE (450,110)-(530,120),1,b
COLOR 2
AREA (512,33):AREA STEP (32,0):AREA STEP (-16,-16):AREA STEP (-16,16)
AREAFILL
LINE (512,33)-(544,33),1:LINE (544,33)-(528,17),1:LINE (528,17)-(512,33),1
LINE (512,35)-(544,51),2,bf:LINE (512,35)-(544,51),1,b
COLOR 3,2:LOCATE 6,66:PRINT"OK"
COLOR 2
AREA (512,53):AREA STEP (32,0):AREA STEP (-16,16):AREA STEP (-16,-16)
AREAFILL                 
LINE (512,53)-(544,53),1:LINE (544,53)-(528,69),1:LINE (528,69)-(512,53),1
COLOR 1,0
keuzeploeg=1
IF keuze=5 THEN GOTO Datuminvullen
IF (keuze=2 OR keuze=3) THEN wedstrijdnr=maxwedstrijd

Bepaalitem:
IF keuze=5 THEN keuze=1:GOSUB Showkeuze
IF keuze=1 THEN GOTO Opmaken
IF (keuze=2 OR keuze=3) THEN   
   thuisploeg=kalender(wedstrijdnr,0):bezoekers=kalender(wedstrijdnr,1)
   GOSUB Kalenderafdruk
END IF   
GOSUB Muisbesturing
IF MOUSE(3)>512 AND MOUSE(3)<544 THEN
   IF MOUSE(4)>17 AND MOUSE(4)<33 THEN GOSUB Omhoog:GOTO Bepaalitem
   IF MOUSE(4)>35 AND MOUSE(4)<51 THEN InOrde
   IF MOUSE(4)>53 AND MOUSE(4)<69 THEN GOSUB Omlaag:GOTO Bepaalitem
END IF   
IF MOUSE(4)>130 AND MOUSE(4)<150 THEN
   IF MOUSE(3)>25 AND MOUSE(3)<100 THEN keuze=1:GOSUB Showkeuze:GOTO Opmaken
   IF MOUSE(3)>145 AND MOUSE(3)<220 THEN keuze=2:GOSUB Showkeuze:GOTO Bepaalitem
   IF MOUSE(3)>265 AND MOUSE(3)<340 THEN keuze=3:GOSUB Showkeuze:GOTO Bepaalitem
   IF MOUSE(3)>385 AND MOUSE(3)<460 THEN WINDOW CLOSE 5:RETURN
   IF MOUSE(3)>505 AND MOUSE(3)<580 THEN Datuminvullen
END IF
GOTO Bepaalitem

Omhoog:
IF keuze=1 AND keuzeploeg<ploegen THEN
   COLOR 1,0
   IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
   IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)
   COLOR 3,2
   keuzeploeg=keuzeploeg+1
   IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
   IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)
END IF   
IF (keuze=2 OR keuze=3) AND wedstrijdnr<maxwedstrijd THEN
   wedstrijdnr=wedstrijdnr+1
   thuisploeg=kalender(wedstrijdnr,0):bezoekers=kalender(wedstrijdnr,1)
   GOSUB Kalenderafdruk
END IF   
RETURN

Omlaag:
IF keuze=1 AND keuzeploeg>1 THEN
   COLOR 1,0
   IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
   IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)
   COLOR 3,2
   keuzeploeg=keuzeploeg-1
   IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
   IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)
END IF
IF (keuze=2 OR keuze=3) AND wedstrijdnr>1 THEN
   wedstrijdnr=wedstrijdnr-1
   thuisploeg=kalender(wedstrijdnr,0):bezoekers=kalender(wedstrijdnr,1)
   GOSUB Kalenderafdruk
END IF   
RETURN

InOrde:
IF keuze=1 THEN Bepaalitem
IF keuze=2 THEN
   COLOR 1,0
   LOCATE 13,15:PRINT"                       "
   LOCATE 15,15:PRINT"                       "
   COLOR 3,2
   LOCATE 13,15:INPUT"",thuisploeg$
   LOCATE 15,15:INPUT"",bezoekers$
   COLOR 1,0
   thuisploeg=0:bezoekers=0
   FOR x=1 TO ploegen
      IF ploeg$(x)=thuisploeg$ THEN thuisploeg=x
      IF ploeg$(x)=bezoekers$ THEN bezoekers=x
   NEXT x
   IF thuisploeg=0 OR bezoekers=0 THEN InOrde
   wedstrijdnr=1
   WHILE (kalender(wedstrijdnr,0)<>thuisploeg OR kalender(wedstrijdnr,1)<>bezoekers) AND wedstrijdnr<maxwedstrijd
      wedstrijdnr=wedstrijdnr+1
   WEND      
   thuisploeg=kalender(wedstrijdnr,0):bezoekers=kalender(wedstrijdnr,1)
   GOSUB Kalenderafdruk
END IF
IF keuze=3 THEN
   COLOR 1,0
   FOR x=wedstrijdnr TO maxwedstrijd-1
      kalender(x,0)=kalender(x+1,0)
      kalender(x,1)=kalender(x+1,1)
      datum$(kalender(x,0),kalender(x,1))=datum$(kalender(x+1,0),kalender(x+1,1))
   NEXT x
   maxwedstrijd=maxwedstrijd-1
END IF      
GOTO Bepaalitem

Opmaken:
COLOR 3,2
IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)   
GOSUB Muisbesturing
IF MOUSE(4)>130 AND MOUSE(4)<150 THEN
  IF MOUSE(3)>145 AND MOUSE(3)<220 THEN keuze=2:GOSUB Showkeuze:GOTO Bepaalitem
  IF MOUSE(3)>265 AND MOUSE(3)<340 THEN keuze=3:GOSUB Showkeuze:GOTO Bepaalitem
  IF MOUSE(3)>385 AND MOUSE(3)<460 THEN WINDOW CLOSE 5:RETURN
  IF MOUSE(3)>505 AND MOUSE(3)<580 THEN GOTO Datuminvullen
END IF   
IF MOUSE(3)>512 AND MOUSE(3)<544 THEN
   IF MOUSE(4)>17 AND MOUSE(4)<33 THEN GOSUB Omlaag:GOTO Opmaken
   IF MOUSE(4)>53 AND MOUSE(4)<69 THEN GOSUB Omhoog:GOTO Opmaken
   IF MOUSE(4)>35 AND MOUSE(4)<51 THEN Wedstrijdinvullen
END IF
GOTO Opmaken

Kalenderrang:
wedstrijdnr=1
WHILE kalenderdag$ >= datum$(kalender(wedstrijdnr,0),kalender(wedstrijdnr,1))
   wedstrijdnr=wedstrijdnr+1
WEND
FOR x=maxwedstrijd+1 TO wedstrijdnr+1 STEP -1
   kalender(x,0)=kalender(x-1,0)
   kalender(x,1)=kalender(x-1,1)
NEXT x
kalender(wedstrijdnr,0)=thuisploeg
kalender(wedstrijdnr,1)=bezoekers
maxwedstrijd=maxwedstrijd+1
LOCATE 13,15:PRINT "                    "
LOCATE 15,15:PRINT "                    "
LOCATE 13,58:PRINT USING "###";wedstrijdnr
RETURN

Datuminvullen:
LINE (505,130)-(580,150),2,bf
COLOR 3,2:LOCATE 18,66:PRINT"DATUM"
LINE (505,130)-(580,150),1,b
COLOR 1,0
LOCATE 15,58:PRINT"  /  /  "
COLOR 3,2
LOCATE 15,58:PRINT"";:INPUT"",dag$(1)
LOCATE 15,61:PRINT"";:INPUT"",dag$(2)
LOCATE 15,64:PRINT"";:INPUT"",dag$(3)
FOR x=1 TO 3
   IF LEN(dag$(x))=1 THEN dag$(x)="0"+dag$(x)
NEXT x
kalenderdag$=dag$(3)+dag$(2)+dag$(1)
vandaag$=kalenderdag$
COLOR 1,0
LOCATE 15,58:PRINT dag$(1)+"/"+dag$(2)+"/"+dag$(3)
LINE (505,130)-(580,150),1,bf
COLOR 3,1:LOCATE 18,66:PRINT"DATUM"
LINE (505,130)-(580,150),2,b
GOTO Bepaalitem                 

Wedstrijdinvullen:
      IF keuzeterrein=1 THEN
         COLOR 1,0
         LOCATE 13,15:PRINT "                    "
         LOCATE 13,15:PRINT ploeg$(keuzeploeg)
         thuisploeg=keuzeploeg
         keuzeterrein=2
         GOTO Opmaken
      END IF
      IF keuzeterrein=2 THEN
         IF keuzeploeg=thuisploeg THEN Opmaken
         COLOR 1,0
         LOCATE 15,15:PRINT"                      "
         LOCATE 15,15:PRINT ploeg$(keuzeploeg)
         bezoekers=keuzeploeg
         datum$(thuisploeg,bezoekers)=kalenderdag$
         IF setthuis(thuisploeg,bezoekers)<>0 OR setbezoek(thuisploeg,bezoekers)<>0 OR thuisploeg=bezoekers THEN
            LOCATE 13,15:PRINT "                    "
            LOCATE 15,15:PRINT "                    "
            keuzeterrein=1
            GOTO Opmaken
         END IF   
         keuzeterrein=1
         GOSUB Kalenderrang
         GOTO Opmaken
      END IF   

Kalenderafdruk:
COLOR 1,0
spaties$=RIGHT$("                          ",20-LEN(ploeg$(thuisploeg)))             
LOCATE 13,15:PRINT ploeg$(thuisploeg);spaties$
spaties$=RIGHT$("                          ",20-LEN(ploeg$(bezoekers)))
LOCATE 15,15:PRINT ploeg$(bezoekers);spaties$
LOCATE 13,58:PRINT USING "###";wedstrijdnr
kalenderdag$=datum$(thuisploeg,bezoekers)
dag$(1)=MID$(kalenderdag$,1,2)
dag$(2)=MID$(kalenderdag$,3,2)
dag$(3)=MID$(kalenderdag$,5,2)
LOCATE 15,58:PRINT dag$(3);"/";dag$(2);"/";dag$(1)
RETURN

Rangschikking:
GOSUB initrangschikking
GOSUB Drukrangschikking
RETURN

initrangschikking:
FOR x=1 TO ploegen
   wedstrijden(x)=0
   wedstrijdgewonnen(x)=0
   wedstrijdverloren(x)=0
   punten(x)=0
   setgewonnen(x)=0
   setverloren(x)=0
NEXT x   
RETURN

selectwedstrijden:
select=1
thuisploeg=kalender(select,0):bezoekers=kalender(select,1)
WHILE select<=maxwedstrijd AND datum$(thuisploeg,bezoekers)<=vandaag$
   IF men1=1 THEN thuis=thuisploeg:bezoek=bezoekers
   IF men1=2 THEN thuis=thuisploeg:bezoek=0
   IF men1=3 THEN thuis=0:bezoek=bezoekers
   IF setthuis(thuisploeg,bezoekers)=3 OR setbezoek(thuisploeg,bezoekers)=3 THEN
      wedstrijden(thuis)=wedstrijden(thuis)+1
      wedstrijden(bezoek)=wedstrijden(bezoek)+1
      IF setthuis(thuisploeg,bezoekers)=3 THEN
         wedstrijdgewonnen(thuis)=wedstrijdgewonnen(thuis)+1
         wedstrijdverloren(bezoek)=wedstrijdverloren(bezoek)+1
         punten(thuis)=punten(thuis)+2
         punten(bezoek)=punten(bezoek)+1
      ELSE
         wedstrijdgewonnen(bezoek)=wedstrijdgewonnen(bezoek)+1
         wedstrijdverloren(thuis)=wedstrijdverloren(thuis)+1
         punten(thuis)=punten(thuis)+1
         punten(bezoek)=punten(bezoek)+2
      END IF
   END IF
IF setthuis(thuisploeg,bezoekers)=4 THEN
   punten(thuis)=punten(thuis)-1
   setgewonnen(thuis)=setgewonnen(thuis)-4
   setverloren(bezoek)=setverloren(bezoek)-4
END IF
IF setbezoek(thuisploeg,bezoekers)=4 THEN 
   punten(bezoek)=punten(bezoek)-1
   setgewonnen(bezoek)=setgewonnen(bezoek)-4
   setverloren(thuis)=setverloren(thuis)-4
END IF
setgewonnen(thuis)=setgewonnen(thuis)+setthuis(thuisploeg,bezoekers)
setgewonnen(bezoek)=setgewonnen(bezoek)+setbezoek(thuisploeg,bezoekers)
setverloren(thuis)=setverloren(thuis)+setbezoek(thuisploeg,bezoekers)
setverloren(bezoek)=setverloren(bezoek)+setthuis(thuisploeg,bezoekers)
select=select+1
thuisploeg=kalender(select,0)
bezoekers=kalender(select,1)
WEND
RETURN

Maakrangschikking:
wissel=1
WHILE wissel<>0
   wissel=0
   FOR x=1 TO ploegen-1
      IF punten(rang(x+1))>punten(rang(x)) THEN GOSUB Verwissel
      IF punten(rang(x+1))=punten(rang(x)) THEN
         gem1=setgewonnen(rang(x))-setverloren(rang(x))
         gem2=setgewonnen(rang(x+1))-setverloren(rang(x+1))
         IF gem2>gem1 THEN GOSUB Verwissel
         IF gem2=gem1 THEN 
            IF setgewonnen(rang(x+1))>setgewonnen(rang(x)) THEN GOSUB Verwissel
         END IF
      END IF
   NEXT x
WEND
RETURN
            
Verwissel:
help=rang(x)
rang(x)=rang(x+1)
rang(x+1)=help
wissel=1
RETURN

Drukrangschikking:
WINDOW 5,"Rangschikking",(20,20)-(620,180),2
WINDOW OUTPUT 5
plaats=30-(LEN(reeks$)+26)/2
LOCATE 2,plaats:PRINT "Rangschikking ";reeks$;" op ";dag$(1);"/";dag$(2);"/";dag$(3)
lijn$="-------------------------------------------------------------------------------"
LOCATE 3,plaats:PRINT RIGHT$(lijn$,LEN(reeks$)+26)
LOCATE 5,3:PRINT"Pl Ploeg                    W.  G.  V.  SG  SV  Pt"
LOCATE 6,3:PRINT"-- -----------------------  --  --  --  --  --  --"
GOSUB Keuzemogelijkheden
GOSUB selectwedstrijden
GOSUB Maakrangschikking
FOR x=1 TO ploegen
IF x<10 THEN plaats=3 ELSE plaats=2
LOCATE 6+x,plaats:PRINT x
LOCATE 6+x,6:PRINT ploeg$(rang(x))
IF wedstrijden(rang(x))<10 THEN plaats=31 ELSE plaats=30
LOCATE 6+x,plaats:PRINT wedstrijden(rang(x))
IF wedstrijdgewonnen(rang(x))<10 THEN plaats=35 ELSE plaats=34
LOCATE 6+x,plaats:PRINT wedstrijdgewonnen(rang(x))
IF wedstrijdverloren(rang(x))<10 THEN plaats=39 ELSE plaats=38
LOCATE 6+x,plaats:PRINT wedstrijdverloren(rang(x))
IF setgewonnen(rang(x))<10 THEN plaats=43 ELSE plaats=42
LOCATE 6+x,plaats:PRINT setgewonnen(rang(x))
IF setverloren(rang(x))<10 THEN plaats=47 ELSE plaats=46
LOCATE 6+x,plaats:PRINT setverloren(rang(x))
IF punten(rang(x))<10 THEN plaats=51 ELSE plaats=50
LOCATE 6+x,plaats:PRINT punten(rang(x))
NEXT x
Wachtrang:
GOSUB Muisbesturing
IF MOUSE(3)>500 AND MOUSE(3)<580 THEN
   IF MOUSE(4)>10 AND MOUSE(4)<30 THEN men1=1:GOTO Rangschikking:GOTO Keuzemogelijkheden
   IF MOUSE(4)>40 AND MOUSE(4)<60 THEN men1=2:GOTO Rangschikking:GOTO Keuzemogelijkheden
   IF MOUSE(4)>70 AND MOUSE(4)<90 THEN men1=3:GOTO Rangschikking:GOTO Keuzemogelijkheden
   IF MOUSE(4)>100 AND MOUSE(4)<120 THEN Printrangschikking
   IF MOUSE(4)>130 AND MOUSE(4)<150 THEN WINDOW CLOSE 5:RETURN
   GOTO Wachtrang
END IF
GOTO Wachtrang
 
Keuzemogelijkheden:
IF men1=1 THEN c=2 ELSE c=1
LINE (500,10)-(580,30),c,bf
COLOR 3,c:LOCATE 3,64:PRINT"VOLLEDIG"
IF c=2 THEN c=1 ELSE c=2
LINE (500,10)-(580,30),c,b
IF men1=2 THEN c=2 ELSE c=1
LINE (500,40)-(580,60),c,bf
COLOR 3,c:LOCATE 7,64:PRINT"THUISWED"
IF c=2 THEN c=1 ELSE c=2
LINE (500,40)-(580,60),c,b
IF men1=3 THEN c=2 ELSE c=1
LINE (500,70)-(580,90),c,bf
COLOR 3,c:LOCATE 11,65:PRINT"UITWED"
IF c=2 THEN c=1 ELSE c=2
LINE (500,70)-(580,90),c,b
IF men1=4 THEN c=2 ELSE c=1
LINE (500,100)-(580,120),c,bf
COLOR 3,c:LOCATE 15,65:PRINT"PRINTER"
IF c=2 THEN c=1 ELSE c=2
LINE (500,100)-(580,120),c,b
IF men1=5 THEN c=2 ELSE c=1
LINE (500,130)-(580,150),c,bf
COLOR 3,c:LOCATE 18,66:PRINT"STOP"
IF c=2 THEN c=1 ELSE c=2
LINE (500,130)-(580,150),c,b
COLOR 1,0
RETURN

Printrangschikking:
titelspaties=INT((60-(LEN(reeks$)+26))/2)
IF men1=2 THEN titelspaties=titelspaties-9
IF men1=3 THEN titelspaties=titelspaties-8
titel$="Rangschikking"
IF men1=2 THEN titel$=titel$+" thuiswedstrijden"
IF men1=3 THEN titel$=titel$+" uitwedstrijden"
titel$=titel$+" "+reeks$+" op "+dag$(1)+"/"+dag$(2)+"/"+dag$(3)
titel=LEN(titel$)
LPRINT TAB(titelspaties);titel$
LPRINT TAB(titelspaties);RIGHT$(lijn$,titel)
LPRINT
LPRINT"  Pl Ploeg                    W.  G.  V.  SG  SV  Pt"
LPRINT"  -- -----------------------  --  --  --  --  --  --"
FOR x=1 TO ploegen
IF x<10 THEN a=0 ELSE a=1
LPRINT TAB(3-a);x;
LPRINT TAB(6);ploeg$(rang(x));
IF wedstrijden(rang(x))<10 THEN a=0 ELSE a=1
LPRINT TAB(31-a);wedstrijden(rang(x));
IF wedstrijdgewonnen(rang(x))<10 THEN a=0 ELSE a=1
LPRINT TAB(35-a);wedstrijdgewonnen(rang(x));
IF wedstrijdverloren(rang(x))<10 THEN a=0 ELSE a=1
LPRINT TAB(39-a);wedstrijdverloren(rang(x));
IF setgewonnen(rang(x))<10 THEN a=0 ELSE a=1
LPRINT TAB(43-a);setgewonnen(rang(x));
IF setverloren(rang(x))<10 THEN a=0 ELSE a=1
LPRINT TAB(47-a);setverloren(rang(x));
IF punten(rang(x))<10 THEN a=0 ELSE a=1
LPRINT TAB(51-a);punten(rang(x))
NEXT x
LPRINT
GOTO Rangschikking

Basic:
MENU RESET
END  

Ploeguitslagen:
WINDOW 5,"Ploeguitslagen",(20,20)-(620,180),2
WINDOW OUTPUT 5
LINE (10,5)-(470,90),1,b
COLOR 3,2
LOCATE 2,6
PRINT " 1 . ";ploeg$(1)
COLOR 1,0
FOR x=2 TO ploegen
IF x<11 THEN LOCATE 1+x,5 ELSE LOCATE -9+x,35
IF x<10 THEN PRINT " ";x". ";ploeg$(x) ELSE PRINT x". ";ploeg$(x)
NEXT x
COLOR 2
AREA (512,33):AREA STEP (32,0):AREA STEP (-16,-16):AREA STEP (-16,16)
AREAFILL
LINE (512,33)-(544,33),1:LINE (544,33)-(528,17),1:LINE (528,17)-(512,33),1
LINE (512,35)-(544,51),2,bf:LINE (512,35)-(544,51),1,b
COLOR 3,2:LOCATE 6,66:PRINT"OK"
COLOR 2
AREA (512,53):AREA STEP (32,0):AREA STEP (-16,16):AREA STEP (-16,-16)
AREAFILL                 
LINE (512,53)-(544,53),1:LINE (544,53)-(528,69),1:LINE (528,69)-(512,53),1
COLOR 1,0
keuzeploeg=1
keuze=1
GOSUB Kiesoutput

Ploegkiezen:
GOSUB Muisbesturing
IF MOUSE(3)>512 AND MOUSE(3)<544 THEN
   IF MOUSE(4)>17 AND MOUSE(4)<33 THEN GOSUB Downside
   IF MOUSE(4)>35 AND MOUSE(4)<51 THEN Alright
   IF MOUSE(4)>53 AND MOUSE(4)<69 THEN GOSUB Upside
END IF   
IF MOUSE(4)>130 AND MOUSE(4)<150 THEN
   IF MOUSE(3)>145 AND MOUSE(3)<220 THEN keuze=1:GOSUB Kiesoutput
   IF MOUSE(3)>265 AND MOUSE(3)<340 THEN keuze=2:GOSUB Kiesoutput
END IF   
GOTO Ploegkiezen

Upside:
IF keuzeploeg<ploegen THEN
   COLOR 1,0
   IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
   IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)
   COLOR 3,2
   keuzeploeg=keuzeploeg+1
   IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
   IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)
END IF   
RETURN

Downside:
IF keuzeploeg>1 THEN
   COLOR 1,0
   IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
   IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)
   COLOR 3,2
   keuzeploeg=keuzeploeg-1
   IF keuzeploeg<11 THEN LOCATE 1+keuzeploeg,5 ELSE LOCATE -9+keuzeploeg,35
   IF keuzeploeg<10 THEN PRINT " ";keuzeploeg". ";ploeg$(keuzeploeg) ELSE PRINT keuzeploeg". ";ploeg$(keuzeploeg)
END IF
RETURN

Alright:
naam$="Uitslagen "+ploeg$(keuzeploeg)
WINDOW CLOSE 5
WINDOW 5,naam$,(20,20)-(620,180),2
WINDOW OUTPUT 5
IF keuze=2 THEN
   LPRINT TAB(2);naam$
   LPRINT " ";
   FOR t=1 TO LEN(naam$)
      LPRINT "-";
   NEXT t
   LPRINT
END IF   
FOR x=1 TO maxwedstrijd
   IF kalender(x,0)=keuzeploeg OR kalender(x,1)=keuzeploeg THEN
      thuisploeg=kalender(x,0)
      bezoekers=kalender(x,1)
      thuisploeg$=ploeg$(thuisploeg)
      bezoekers$=ploeg$(bezoekers)
      d$=datum$(thuisploeg,bezoekers)
      d$(1)=RIGHT$(d$,2)+"/"
      d$(2)=MID$(d$,3,2)+"/"
      d$(3)=LEFT$(d$,2)
      PRINT TAB(2);d$(1);d$(2);d$(3);
      IF setthuis(thuisploeg,bezoekers)=3 THEN COLOR 3,0
      PRINT TAB(12);thuisploeg$;
      COLOR 1,0
      PRINT " - ";
      IF setbezoek(thuisploeg,bezoekers)=3 THEN COLOR 3,0 ELSE COLOR 1,0
      PRINT bezoekers$;
      COLOR 1,0
      PRINT TAB(45);setthuis(thuisploeg,bezoekers);" - ";setbezoek(thuisploeg,bezoekers)
      IF keuze=2 THEN
         LPRINT TAB(2);d$(1);d$(2);d$(3);
         IF setthuis(thuisploeg,bezoekers)=3 THEN thuisploeg$=CHR$(27)+"[4m"+thuisploeg$+CHR$(27)+"[24m"
         IF setbezoek(thuisploeg,bezoekers)=3 THEN bezoekers$=CHR$(27)+"[4m"+bezoekers$+CHR$(27)+"[24m"
         LPRINT TAB(12);thuisploeg$;" - ";bezoekers$;
         LPRINT TAB(55);setthuis(thuisploeg,bezoekers);" - ";setbezoek(thuisploeg,bezoekers)         
      END IF
   END IF
NEXT x
IF keuze=2 THEN LPRINT
LINE (500,10)-(580,30),1,bf
COLOR 3,1:LOCATE 3,66:PRINT"STOP"
LINE (500,10)-(580,30),2,b

GOSUB Kontrolestop
WINDOW CLOSE 5
RETURN

Kiesoutput:
IF keuze=1 THEN c=2 ELSE c=1
LINE (145,130)-(220,150),c,bf
COLOR 3,c:LOCATE 18,21:PRINT"SCHERM"
IF c=2 THEN c=1 ELSE c=2
LINE (145,130)-(220,150),c,b
IF keuze=2 THEN c=2 ELSE c=1
LINE (265,130)-(340,150),c,bf
COLOR 3,c:LOCATE 18,35:PRINT"PRINTER"
IF c=2 THEN c=1 ELSE c=2
LINE (265,130)-(340,150),c,b
RETURN

Kontrolestop:
GOSUB Muisbesturing
IF MOUSE(3)>500 AND MOUSE(3)<580 THEN
   IF MOUSE(4)>10 AND MOUSE(4)<30 THEN RETURN
END IF
GOTO Kontrolestop

Weekenduitslagen:
WINDOW 6,"Weekenduitslagen",(20,20)-(620,180),2
WINDOW OUTPUT 6
GOSUB dagbepaling
IF vandaag$>datum$(kalender(maxwedstrijd,0),kalender(maxwedstrijd,1)) THEN
   PRINT
   PRINT " Deze wedstrijden werden nog niet gespeeld!"
   PRINT:PRINT " Druk op de muis om verder te gaan."
   GOSUB Muisbesturing:WINDOW CLOSE 6
END IF   
PRINT
wedstrijd=1:thuisploeg=kalender(1,0):bezoekers=kalender(1,1)
WHILE vandaag$>datum$(thuisploeg,bezoekers)
   wedstrijd=wedstrijd+1
   thuisploeg=kalender(wedstrijd,0)
   bezoekers=kalender(wedstrijd,1)
WEND
nog=1:teller=0
WHILE wedstrijd<=maxwedstrijd AND nog=1
   teller=teller+1
   wedstrijd=wedstrijd+1
   thuisploeg=kalender(wedstrijd,0)
   bezoekers=kalender(wedstrijd,1)
   day=VAL(RIGHT$(datum$(thuisploeg,bezoekers),2))   
   nog=0
   IF day=dag(1) OR day=dag(1)+1 THEN nog=1
   IF dag(1)>27 THEN IF day=1 THEN nog=1
WEND
PRINT TAB(2);"Wedstrijden weekend ";dag$(1);"/";dag$(2);"/";dag$(3)
PRINT TAB(2);"----------------------------"
PRINT
FOR x=wedstrijd-teller TO wedstrijd-1
   thuisploeg$=ploeg$(kalender(x,0))
   bezoekers$=ploeg$(kalender(x,1))
   thuisploeg=kalender(x,0)
   bezoekers=kalender(x,1)
   st=setthuis(thuisploeg,bezoekers)
   sb=setbezoek(thuisploeg,bezoekers)
   d$=datum$(thuisploeg,bezoekers)
   d$(1)=RIGHT$(d$,2)+"/"
   d$(2)=MID$(d$,3,2)+"/"
   d$(3)=LEFT$(d$,2)
   PRINT TAB(2);d$(1);d$(2);d$(3);
   IF st=3 THEN COLOR 3,0
   PRINT TAB(12);thuisploeg$;
   COLOR 1,0
   PRINT " - ";
   IF sb=3 THEN COLOR 3,0 ELSE COLOR 1,0
   PRINT bezoekers$;
   COLOR 1,0
   PRINT TAB(45);st;" - ";sb
NEXT x
LINE (145,130)-(220,150),1,bf
COLOR 3,1:LOCATE 18,22:PRINT"STOP"
LINE (145,130)-(220,150),2,b
LINE (265,130)-(340,150),1,bf
COLOR 3,1:LOCATE 18,35:PRINT"PRINTER"
LINE (265,130)-(340,150),2,b

Wachtopdruk:
GOSUB Muisbesturing            
IF MOUSE(4)>130 AND MOUSE(4)<150 THEN
   IF MOUSE(3)>145 AND MOUSE(3)<220 THEN WINDOW CLOSE 6:RETURN
   IF MOUSE(3)>265 AND MOUSE(3)<340 THEN Printweekend
END IF   
GOTO Wachtopdruk

Printweekend:
LPRINT TAB(2);"Wedstrijden weekend ";dag$(1);"/";dag$(2);"/";dag$(3)
LPRINT TAB(2);"----------------------------"
LPRINT
FOR x=wedstrijd-teller TO wedstrijd-1
   thuisploeg$=ploeg$(kalender(x,0))
   bezoekers$=ploeg$(kalender(x,1))
   thuisploeg=kalender(x,0)
   bezoekers=kalender(x,1)
   st=setthuis(thuisploeg,bezoekers)
   sb=setbezoek(thuisploeg,bezoekers)
   d$=datum$(thuisploeg,bezoekers)
   d$(1)=RIGHT$(d$,2)+"/"
   d$(2)=MID$(d$,3,2)+"/"
   d$(3)=LEFT$(d$,2)
   LPRINT TAB(2);d$(1);d$(2);d$(3);
   IF setthuis(thuisploeg,bezoekers)=3 THEN thuisploeg$=CHR$(27)+"[4m"+thuisploeg$+CHR$(27)+"[24m"
   IF setbezoek(thuisploeg,bezoekers)=3 THEN bezoekers$=CHR$(27)+"[4m"+bezoekers$+CHR$(27)+"[24m"
   LPRINT TAB(12);thuisploeg$;" - ";bezoekers$;
   LPRINT TAB(55);st;" - ";sb
NEXT x
LPRINT:LPRINT
WINDOW CLOSE 6
RETURN
  
gpunten:
SCREEN 2,640,240,4,2
WINDOW 6,"",(0,0)-(630,200),0,2
GOSUB gkleuren
WINDOW OUTPUT 6
COLOR 1,0
LOCATE 2,30:PRINT"GRAFIEK PUNTEN"
LINE (10,10)-(10,180),1
LINE (10,180)-(450,180),1
FOR x=1 TO ploegen:punten(x)=0:NEXT x
men1=1
GOSUB selectwedstrijden
maxpunt=punten(1)
FOR x=2 TO ploegen
IF punten(x)>maxpunt THEN maxpunt=punten(x)
NEXT x
FOR x=1 TO ploegen
   waarde=160*punten(x)/maxpunt
   LINE (-15+x*35,179)-(15+x*35,179-waarde),x+1,bf
   LOCATE 24,1:COLOR x+1,0
   PRINT PTAB(-15+x*35);" ";
   PRINT USING "##";punten(x);
   LOCATE 25,1:COLOR x+1,0
   PRINT PTAB(-15+x*35);" ";
   PRINT USING "##";x;
   LOCATE 7+x,58
   PRINT USING"##";x;
   PRINT " ";ploeg$(x)
NEXT x
GOSUB toetstest
WINDOW CLOSE 6   
SCREEN CLOSE 2
RETURN

toetstest:
a$=INKEY$
IF a$="" THEN toetstest
IF UCASE$(a$)="P" THEN 
  GOSUB pkleuren
  GOSUB screendump
END IF
RETURN

gsetgem:
SCREEN 2,640,240,4,2
WINDOW 6,"",(0,0)-(630,200),0,2
GOSUB gkleuren
WINDOW OUTPUT 6
COLOR 1,0
LOCATE 2,23:PRINT"GRAFIEK SETGEMIDDELDE"
LINE (10,10)-(10,190),1
LINE (10,100)-(450,100),1
LOCATE 4,56:PRINT"SETS GEWONNEN"
LOCATE 23,56:PRINT"SETS VERLOREN";
men1=1
GOSUB initrangschikking
GOSUB selectwedstrijden
setgmax=setgewonnen(1)
setvmax=setverloren(2)
FOR x=2 TO ploegen
   IF setgewonnen(x)>setgmax THEN setgmax=setgewonnen(x)
   IF setverloren(x)>setvmax THEN setvmax=setverloren(x)
NEXT x
setmax=setgmax+setvmax   
FOR x=1 TO ploegen
   waarde1=90*setgewonnen(x)/setmax
   waarde2=90*setverloren(x)/setmax
   LINE (-15+x*35,99)-(15+x*35,99-waarde1),x+1,bf
   LOCATE 4,1:COLOR x+1,0
   PRINT PTAB(-15+x*35);" ";
   PRINT USING "##";setgewonnen(x);
   LINE (-15+x*35,101)-(15+x*35,101+waarde2),x+1,bf
   LOCATE 23,1:COLOR x+1,0
   PRINT PTAB(-15+x*35);" ";
   PRINT USING "##";setverloren(x);
   LOCATE 24,1:COLOR x+1,0
   PRINT PTAB(-15+x*35);" ";
   PRINT USING "##";x;
   LOCATE 7+x,58
   PRINT USING"##";x;
   PRINT " ";ploeg$(x)
NEXT x        
GOSUB toetstest
WINDOW CLOSE 6
SCREEN CLOSE 2
RETURN

gkleuren:
PALETTE 0,0,0,0
PALETTE 2,.5,0,0
PALETTE 1,1,0,0
PALETTE 3,0,.5,0
PALETTE 4,0,1,0
PALETTE 5,0,0,.5
PALETTE 6,0,0,1
PALETTE 7,1,1,0
PALETTE 8,1,0,1
PALETTE 9,0,1,1
PALETTE 10,.5,.5,.5
PALETTE 11,1,.5,0
PALETTE 12,0,1,.5
PALETTE 13,.5,0,1
PALETTE 14,.5,1,0
PALETTE 15,0,.5,1
RETURN           

pkleuren:
PALETTE 0,1,1,1
FOR x=1 TO 15
   PALETTE x,0,0,0
NEXT x
RETURN

   
screendump:

REM  If first call of this routine 
REM   declare the exec library functions
REM    which return values

IF AlreadyDeclared = 0 THEN
 DECLARE FUNCTION AllocSignal%() LIBRARY
 DECLARE FUNCTION AllocMem&()    LIBRARY
 DECLARE FUNCTION FindTask&()    LIBRARY
 DECLARE FUNCTION DoIO&()        LIBRARY
 DECLARE FUNCTION OpenDevice&    LIBRARY
 AlreadyDeclared = 1
END IF

REM  Get addresses of the structures

sWindow&   = WINDOW(7)
sScreen&   = PEEKL(sWindow& + 46)
sViewPort& = sScreen& + 44
sRastPort& = sScreen& + 84
sColorMap& = PEEKL(sViewPort& + 4)

REM  Get Screen width, height, modes 

maxWidth%  = PEEKW(sScreen& + 12)
maxHeight% = PEEKW(sScreen& + 14)
viewModes% = PEEKW(sViewPort& + 32)

REM Set up parameters for dump command

command%  = 11   'Printer command number
srcX% = 0        'Send whole screen
srcY% = 0 
srcWidth%  = maxWidth%
srcHeight% = maxHeight%
destRows& = 0    'Dump will compute
destCols& = 0
special% = &H84  'FullCol | Aspect

IF BorderFlag% = 0 THEN  'No Borders
   srcX% = 1
   srcY% = 11
   srcWidth%  = 618
   srcHeight% = 199
END IF   

LIBRARY "exec.library"


REM *** CreatePort ***

sigBit% =  AllocSignal%(-1)
ClearPublic& = 65537&
msgPort& = AllocMem&(40,ClearPublic&)
IF msgPort& = 0 THEN
   PRINT "Can't allocate msgPort"
   GOTO cleanup4
END IF


POKE(msgPort& + 8), 4 'Type=NT_MSGPORT
POKE(msgPort& + 9), 0 'Priority 0 
portName$ = "MyPrtPort"+CHR$(0)
POKEL(msgPort& + 10), SADD(portName$)
POKE(msgPort& + 14), 0 'Flags
POKE(msgPort& + 15), sigBit%
sigTask& = FindTask&(0)
POKEL(msgPort& + 16), sigTask&

CALL AddPort(msgPort&)  'Add the port 


REM  *** CreatExtIO ***

ioRequest& = AllocMem&(64,ClearPublic&)
IF ioRequest& = 0  THEN
   PRINT "Can't allocate ioRequest"
   GOTO cleanup3
END IF

POKE(ioRequest& + 8),5 'Type=NT_MESSAGE
POKE(ioRequest& + 9),0 'Priority 0
POKEL(ioRequest& + 14), msgPort&


REM  *** Open the Printer Device ***

devName$ = "printer.device"+CHR$(0)
pError& = OpenDevice&(SADD(devName$),0,ioRequest&,0)
IF pError& <> 0  THEN
   PRINT "Can't open printer"
   GOTO cleanup2
END IF


REM  *** Dump the RastPort ***

POKEW(ioRequest& + 28), command%
POKEL(ioRequest& + 32), sRastPort&
POKEL(ioRequest& + 36), sColorMap&
POKEL(ioRequest& + 40), viewModes%
POKEW(ioRequest& + 44), srcX%
POKEW(ioRequest& + 46), srcY%
POKEW(ioRequest& + 48), srcWidth%
POKEW(ioRequest& + 50), srcHeight%
POKEL(ioRequest& + 52), destCols&
POKEL(ioRequest& + 56), destRows&
POKEW(ioRequest& + 60), special%

ioError& = DoIO&(ioRequest&)
IF ioError& <> 0 THEN
   PRINT "DumpRPort error =" ioError&
   GOTO cleanup1
END IF


cleanup1:
   REM  *** Close Printer Device ***
   CALL CloseDevice(ioRequest&)

cleanup2:
   REM  *** DeleteExtIO ***
   POKE(ioRequest& + 8), &HFF
   POKEL(ioRequest& + 20), -1
   POKEL(ioRequest& + 24), -1
   CALL FreeMem(ioRequest&,64)

cleanup3:
   REM  *** DeletePort ***
   CALL RemPort(msgPort&)
   POKE(msgPort& + 8), &HFF  
   POKEL(msgPort& + 20), -1
   CALL FreeSignal(sigBit%)
   CALL FreeMem(msgPort&,40)
   
cleanup4:   
   LIBRARY CLOSE

RETURN
   
      
