100 REM **********************
110 REM * *
120 REM * ELITSERIEN eller *
130 REM * ALLSVENSKAN *
140 REM * *
150 REM * Anders Franz`n *
160 REM * 1984-09-29 *
170 REM * *
180 REM **********************
190 REM
200 REM
210 REM +--------------------+
220 REM ! Dimensionering !
230 REM +--------------------+
240 REM
250 DIM L$(12)=20,M(12),V1(12),V2(12)
260 DIM V3(12),M1(12),M2(12),P(12)
270 DIM L(12),F(12)
280 DEFFNT(X1,X2)=X1-(X2<10)+(X2>99)
290 REM
300 REM
310 REM +--------------------+
320 REM ! L{s in lag !
330 REM +--------------------+
340 REM
350 ; CHR$(12)CUR(2,0)'Initiering'
360 ; CUR(8,0)'V{lj: 1 Allsvenskan'
370 ; ' 2 Elitserien'
380 GET X$ : IF X$='1' RESTORE 2560 : L=12 ELSE RESTORE 2660 : L=10
390 FOR I=1 TO L : READ L$(I) : NEXT I
400 REM
410 REM
420 REM +--------------------+
430 REM ! L{s in tabell !
440 REM +--------------------+
450 REM
460 RESTORE 2380
470 FOR I=1 TO L
480 L(I)=I
490 READ M(I),V1(I),V2(I),V3(I)
500 READ M1(I),M2(I)
510 NEXT I
520 REM
530 REM
540 REM +--------------------+
550 REM ! Meny p} sk{rmen !
560 REM +--------------------+
570 REM
580 ; CHR$(12) : ; CUR(2,0)'MENY'
590 ; CUR(8,0);
600 ; '1 Dagens matcher'
610 ; '2 Tabell inf|r denna omg}ng'
620 ; '3 Aktuellt tabell{ge'
630 ; : IF G1'6' GOTO 580
680 ON VAL(X$) GOTO 750,990,1250,1540,1800,2030
690 REM
700 REM
710 REM +--------------------+
720 REM ! Dagens matcher !
730 REM +--------------------+
740 REM
750 ; CHR$(12)CUR(2,0)'Dagens matcher:'
760 IF G1=0 ; CUR(8,0)'Inga matcher spelas idag.' : GOTO 660
770 ; CUR(4,0) : FOR I=1 TO G1
780 ; CHR$(I+64);TAB(5)L$(H(I))TAB(16)'- 'L$(B(I));
790 ; TAB(FNT(31,S1(I)))S1(I)' -';
800 ; TAB(FNT(33,S2(I)))S2(I)
810 ; : NEXT I
820 ; CUR(19,0)'Match med {ndrat resultat ?';
830 GET X$ : IF X$>='`' X$=CHR$(ASC(X$) AND 223)
840 IF X$<'A' OR X$>CHR$(G1+64) GOTO 670
850 X=ASC(X$)-64 : ; X$ : ;
860 ; 'Hur m}nga m}l har 'L$(H(X))' ('RIGHT$(NUM$(S1(X)),2)') ';
870 ONERRORGOTO 890 : INPUT X1
880 IF X1<0 OR X1>20 ; CHR$(7) : GOTO 580 ELSE S1(X)=X1
890 ; 'Hur m}nga m}l har 'L$(B(X))' ('RIGHT$(NUM$(S2(X)),2)') ';
900 ONERRORGOTO 920 : INPUT X1
910 IF X1<0 OR X1>20 ; CHR$(7) : GOTO 580 ELSE S2(X)=X1
920 ONERRORGOTO 0 : GOTO 750
930 REM
940 REM
950 REM +--------------------+
960 REM ! Utg}ngstabell !
970 REM +--------------------+
980 REM
990 X$='Tabell inf|r denna omg}ng'
1000 GOSUB 1070 : GOTO 660
1010 REM
1020 REM
1030 REM +--------------------+
1040 REM ! Skriv ut tabell !
1050 REM +--------------------+
1060 REM
1070 ; CHR$(12)
1080 ; CUR(2,0)X$
1090 ; CUR(4,0)
1100 GOSUB 2100
1110 FOR I=1 TO L
1120 P=V1(I)*2+V2(I)
1130 ; TAB(FNT(0,I))RIGHT$(NUM$(I),2);TAB(4);
1140 ; L$(L(I))TAB(16)M(I);TAB(FNT(19,V1(I)))V1(I);TAB(FNT(22,V2(I)))V2(I);TAB(FNT(25,V3(I)))V3(I);
1150 ; TAB(FNT(29,M1(I)))M1(I)'-'TAB(FNT(33,M2(I)))RIGHT$(NUM$(M2(I)),2);TAB(FNT(36,P))P
1160 IF L=12 AND (I=8 OR I=10) OR L=10 AND (I=4 OR I=8) THEN ; STRING$(39,45)
1170 NEXT I
1180 RETURN
1190 REM
1200 REM
1210 REM +--------------------+
1220 REM ! Aktuell tabell !
1230 REM +--------------------+
1240 REM
1250 IF G1=0 GOTO 580
1260 FOR I=1 TO G1
1270 FOR K1=1 TO L : IF L(K1)<>H(I) NEXT K1
1280 FOR K2=1 TO L : IF L(K2)<>B(I) NEXT K2
1290 M1(K1)=M1(K1)+S1(I) : M2(K1)=M2(K1)+S2(I)
1300 M1(K2)=M1(K2)+S2(I) : M2(K2)=M2(K2)+S1(I)
1310 IF S1(I)>S2(I) LET V1(K1)=V1(K1)+1 : V3(K2)=V3(K2)+1
1320 IF S1(I)=S2(I) LET V2(K1)=V2(K1)+1 : V2(K2)=V2(K2)+1
1330 IF S1(I)H(I) NEXT K1
1390 FOR K2=1 TO L : IF L(K2)<>B(I) NEXT K2
1400 M1(K1)=M1(K1)-S1(I) : M2(K1)=M2(K1)-S2(I)
1410 M1(K2)=M1(K2)-S2(I) : M2(K2)=M2(K2)-S1(I)
1420 IF S1(I)>S2(I) LET V1(K1)=V1(K1)-1 : V3(K2)=V3(K2)-1
1430 IF S1(I)=S2(I) LET V2(K1)=V2(K1)-1 : V2(K2)=V2(K2)-1
1440 IF S1(I)=L/2 GOTO 580
1550 ; CHR$(12)CUR(2,0)'Knappa in dagens matcher'
1560 ; CUR(4,0)
1570 FOR I=1 TO L
1580 IF F(I) GOTO 1600
1590 ; TAB(FNT(5,I))I;TAB(10)L$(I)
1600 NEXT I
1610 ONERRORGOTO 1720
1620 ; CUR(20,0)'Match'G1+1': hemmalag ';
1630 INPUT X : IF X<1 OR X>L ; CHR$(7) : GOTO 1540
1640 IF F(X) ; CHR$(7) : GOTO 1540
1650 ONERRORGOTO 1720
1660 ; ' bortalag ';
1670 INPUT X1 : IF X1<1 OR X1>L ; CHR$(7) : GOTO 1540
1680 IF F(X1) ; CHR$(7) : GOTO 1540
1690 IF X=X1 ; CHR$(7) : GOTO 1540
1700 G1=G1+1 : H(G1)=X : F(X)=1
1710 F(X1)=1 : B(G1)=X1 : GOTO 1540
1720 ONERRORGOTO 0 : GOTO 580
1730 REM
1740 REM
1750 REM +--------------------+
1760 REM ! [ndra tabellen !
1770 REM +--------------------+
1780 REM
1790 REM
1800 FOR I=1 TO L
1810 ; CHR$(12)CUR(2,0)'[ndra tabellen'
1820 ; CUR(4,0)
1830 ; L$(L(I)) : ;
1840 ; 'Antalet spelade matcher'TAB(27)'('RIGHT$(NUM$(M(I)),2)') ';
1850 ONERRORGOTO 1860 : INPUT X : M(I)=X
1860 ; 'Antalet vunna matcher'TAB(27)'('RIGHT$(NUM$(V1(I)),2)') ';
1870 ONERRORGOTO 1880 : INPUT X : V1(I)=X
1880 ; 'Antalet oavgjorda matcher'TAB(27)'('RIGHT$(NUM$(V2(I)),2)') ';
1890 ONERRORGOTO 1900 : INPUT X : V2(I)=X
1900 ; 'Antalet f|rlorade matcher'TAB(27)'('RIGHT$(NUM$(V3(I)),2)') ';
1910 ONERRORGOTO 1920 : INPUT X : V3(I)=X
1920 ; 'Antalet gjorda m}l'TAB(27)'('RIGHT$(NUM$(M1(I)),2)') ';
1930 ONERRORGOTO 1940 : INPUT X : M1(I)=X
1940 ; 'Antalet insl{ppta m}l'TAB(27)'('RIGHT$(NUM$(M2(I)),2)') ';
1950 ONERRORGOTO 1960 : INPUT X : M2(I)=X
1960 ;
1970 NEXT I : GOTO 580
1980 REM
1990 REM +--------------------+
2000 REM ! Sluta !
2010 REM +--------------------+
2020 REM
2030 ; CHR$(12) : END
2040 REM
2050 REM
2060 REM +--------------------+
2070 REM ! Sortera tabellen !
2080 REM +--------------------+
2090 REM
2100 FOR I=1 TO L-1
2110 FOR J=I+1 TO L
2120 P1=V1(I)*2+V2(I) : P2=V1(J)*2+V2(J)
2130 IF P1>P2 GOTO 2290
2140 IF P1M1(J)-M2(J) GOTO 2290
2160 IF M1(I)-M2(I)V1(J) GOTO 2290
2180 IF V1(I)M1(J) GOTO 2290
2191 IF M1(I)