100 DIM B(2),N(2,5),F$(14),T$(4,8),P$(18),P(18,2),L(8,2),G(8),S$(18)
110 CALL CHAR(95,"000000FFFF")
120 CALL CHAR(36,"000C12101810121E")
130 CALL CHAR(47,"1010101010101010")
140 CALL CLEAR
150 RANDOMIZE 
160 D=4
170 W=1
180 E=1
190 R=200
200 C=100000
210 F=0
220 FOR X=1 TO 4
230 FOR Y=1 TO 8
240 READ T$(X,Y)
250 NEXT Y
260 NEXT X
270 FOR X=1 TO 18
280 READ P$(X)
290 NEXT X
300 GOSUB 320
310 GOTO 400
320 FOR X=1 TO 18
330 Z=INT(RND*20)+1
340 Z1=INT(RND*5)+1
350 P(X,1)=Z
360 P(X,2)=Z1
370 NEXT X
380 M=10
390 RETURN 
400 FOR X=1 TO 14
410 READ F$(X)
420 NEXT X
430 FOR X=1 TO 12
440 Z=INT(RND*18)+1
450 IF P$(Z)="" THEN 440
460 S$(Z)=P$(Z)
470 P$(Z)=""
480 NEXT X
490 CALL CLEAR
500 PRINT "SELECT YOUR TEAM FROM:-     (COPY PRINT EXACTLY)"::::
510 FOR X=1 TO 8
520 PRINT T$(4,X)
530 NEXT X
540 PRINT :::::
550 INPUT "   >":O$
560 FOR X=1 TO 8
570 IF O$=T$(4,X) THEN 580 ELSE 590
580 V=X
590 NEXT X
600 IF V=0 THEN 490
610 GOSUB 4750
620 CALL CLEAR
630 CALL SCREEN(16)
640 FOR X=1 TO 16
650 CALL COLOR(X,5,16)
660 NEXT X
670 IF W=15 THEN 3580
680 PRINT "    ";O$;" F.C."
690 PRINT "____________________________"::
700 PRINT "            MENU                        ____"::
710 PRINT "   1.  CURRENT STANDINGS                                   2.  OBTAIN LOAN"
720 PRINT "                               3.  SELECT TEAM                                      "
730 PRINT "   4.  SELL PLAYER                                         5.  PLAY MATCH           "
740 PRINT :::::
750 INPUT "  >":A
760 IF (C<0)*(A=5) THEN 770 ELSE 820
770 PRINT "You have no cash"
780 GOSUB 4850
790 U=U+1
800 IF U=5 THEN 4980
810 GOTO 620
820 IF (A>5)+(A<0) THEN 620
830 IF A=5 THEN 840 ELSE 850
840 T=1
850 ON A GOSUB 900,1030,1330,3740,2160
860 IF T=1 THEN 870 ELSE 890
870 GOSUB 1840
880 T=0
890 GOTO 620
900 CALL CLEAR
910 PRINT O$;" F.C. - ACCOUNTS":"____________________________"::
920 PRINT "WEEK ";W;"   SEASON ";E
930 PRINT "____________________________"::
940 PRINT "BANK BALANCE- $";STR$(C)::
950 PRINT "WEEKLY  RENT- $";STR$(R)::
960 PRINT "WAGES       - $";STR$(W1)::
970 PRINT "LAST GATE   - $";STR$(G1)::
980 PRINT "LOAN PAYMENT- $";STR$(B1)::
990 PRINT "LOAN BALANCE- $";STR$(LB)::
1000 PRINT "MANAGER'S RATING = ";STR$(F)
1010 GOSUB 4850
1020 RETURN 
1030 CALL CLEAR
1040 PRINT "OBTAIN A LOAN - ":::
1050 PRINT "BORROW UP TO $";STR$((5-D)*100000)
1060 PRINT "AT 1% INTEREST PER WEEK"::::
1070 INPUT "AMOUNT OF LOAN >":B2
1080 IF B2=0 THEN 1130
1090 IF (B2<1)+(B2>((5-D)*100000)) THEN 1030
1100 IF (B2+LB)>((5-D)*100000) THEN 1030
1110 LB=LB+B2
1120 C=C+B2
1130 RETURN 
1140 CALL CLEAR
1150 GOSUB 4060
1160 PRINT T$(D,I);,"V  ";T$(D,J)
1170 PRINT "____________________________"::
1180 GOSUB 4550
1190 PRINT "         RATINGS                     _______"::
1200 PRINT TAB(3);N(Z2,1);TAB(10);"DEFENCE";TAB(21);N(Z3,1)
1210 PRINT TAB(3);N(Z2,2);TAB(9);"MIDFIELD";TAB(21);N(Z3,2)
1220 PRINT TAB(3);N(Z2,3);TAB(10);"ATTACK";TAB(21);N(Z3,3)
1230 PRINT TAB(3);N(Z2,4);TAB(8);"PERFORMANCE";TAB(21);N(Z3,4)
1240 PRINT TAB(3);N(Z2,5);TAB(8);"TEAM SPIRIT";TAB(21);N(Z3,5)
1250 PRINT "____________________________"::
1260 IF K=1 THEN 1320
1270 GOSUB 4790
1280 IF H=11 THEN 1300
1290 PRINT "Your team requires changes"::
1300 PRINT 
1310 GOSUB 4850
1320 RETURN 
1330 GOSUB 1140
1340 PRINT :::
1350 PRINT O$;" F.C.  PLAYERS"
1360 PRINT "____________________________"::
1370 PRINT "Value /P/Name    /No/A/S/Fi ______/_/________/__/_/_/__"
1380 FOR X=1 TO 18
1390 IF S$(X)<>"" THEN 1430
1400 NEXT X
1410 PRINT "____________________________"
1420 GOTO 1580
1430 K1=(P(X,2)*5000)+((4-D)*30000)
1440 IF K1<99999 THEN 1450 ELSE 1460
1450 V1=1
1460 IF K1<9999 THEN 1470 ELSE 1480
1470 V1=2
1480 IF X<10 THEN 1490 ELSE 1500
1490 Q=1
1500 IF P(X,1)<10 THEN 1510 ELSE 1520
1510 S=1
1520 PRINT TAB(1+V1);STR$(K1);TAB(7);"/";SEG$(S$(X),9,1);"/";SEG$(S$(X),1,8);"/";TAB(19+Q);STR$(X);"/";
1530 PRINT SEG$(S$(X),10,1);"/";STR$(P(X,2));"/";TAB(26+S);STR$(P(X,1));
1540 S=0
1550 Q=0
1560 V1=0
1570 GOTO 1400
1580 PRINT "X=Injured,O=Dropped,I=Chosen"
1590 IF K=1 THEN 1830
1600 GOSUB 4790
1610 PRINT "You have ";STR$(H);" in the team"
1620 INPUT "Make changes: 1=Yes,2=No>":A
1630 IF (A<1)+(A>2) THEN 1620
1640 IF A=2 THEN 1780
1650 INPUT "Change which Player    >":A
1660 IF (A<1)+(A>18) THEN 1650
1670 IF S$(A)="" THEN 1620
1680 IF SEG$(S$(A),10,1)="O" THEN 1760
1685 IF SEG$(S$(A),10,1)="I" THEN 1710
1690 GOTO 1620
1710 S$(A)=SEG$(S$(A),1,9)&"O"
1720 GOTO 1620
1760 S$(A)=SEG$(S$(A),1,9)&"I"
1770 GOTO 1620
1780 GOSUB 4790
1790 IF H<>11 THEN 1800 ELSE 1830
1800 PRINT " Your team is incorrect"
1810 GOSUB 4850
1820 GOTO 1330
1830 RETURN 
1840 CALL CLEAR
1850 PRINT :::::::::::
1860 PRINT "LEAGUE TABLE COMING NEXT"
1870 FOR X=1 TO 8
1880 I1=1
1890 FOR Y=1 TO 8
1900 IF X=Y THEN 1980
1910 IF L(X,1)<L(Y,1) THEN 1940
1920 IF L(X,1)=L(Y,1) THEN 1960
1930 GOTO 1980
1940 I1=I1+1
1950 GOTO 1980
1960 IF L(X,2)<L(Y,2) THEN 1970 ELSE 1980
1970 I1=I1+1
1980 NEXT Y
1990 G(X)=I1
2000 NEXT X
2010 IF K=1 THEN 2150
2020 CALL CLEAR
2030 PRINT "DIVISION ";D;"  LEAGUE TABLE":"____________________________"::
2040 PRINT "Pos   Team     Pl  GD  Pts  ____________________________"::
2050 FOR PO=1 TO 8
2060 FOR X=1 TO 8
2070 IF G(X)=PO THEN 2090 ELSE 2110
2080 GOTO 2110
2090 PRINT TAB(2);STR$(G(X));".";TAB(5);T$(D,X);TAB(16);STR$(W-1);TAB(20);STR$(L(X,2));TAB(24);L(X,1)
2100 PRINT 
2110 NEXT X
2120 NEXT PO
2130 PRINT 
2140 GOSUB 4850
2150 RETURN 
2160 CALL CLEAR
2170 GOSUB 4790
2180 IF H=11 THEN 2190 ELSE 3530
2190 GOSUB 4060
2200 GOSUB 4550
2210 O=0
2220 AA=0
2230 G1=((5-D)*3500)+((5-D)*(M*100))+((5-D)*((12-G(V)*150)))
2240 PRINT "WEEK ";STR$(W);"    SEASON ";STR$(E);
2250 PRINT "____________________________"::
2260 PRINT T$(D,I),"V  ";T$(D,J)
2270 PRINT "____________________________"::
2280 K=1
2290 GOSUB 1190
2300 K=0
2310 PRINT "MATCH IN PROGRESS           _________________"
2320 FOR TI=15 TO 75 STEP 15
2330 PRINT STR$(TI);"mins";
2340 B(Z2)=N(Z2,(TI/15))
2350 B(Z3)=N(Z3,(TI/15))
2360 GOSUB 4240
2370 GOSUB 3540
2380 NEXT TI
2390 PRINT "F.T.  ";
2400 B(Z2)=INT((N(Z2,1)+N(Z2,2)+N(Z2,3))/3)
2410 B(Z3)=INT((N(Z3,1)+N(Z3,2)+N(Z3,3))/3)
2420 GOSUB 4240
2430 GOSUB 3540
2440 PRINT ::
2450 GOSUB 2480
2460 PRINT ::"     OTHER RESULTS"::
2470 GOTO 2710
2480 IF O=AA THEN 2490 ELSE 2520
2490 L(I,1)=L(I,1)+1
2500 L(J,1)=L(J,1)+1
2510 GOTO 2700
2520 IF O>AA THEN 2530 ELSE 2620
2530 L(I,1)=L(I,1)+3
2540 IF J1=1 THEN 2590
2550 IF I=V THEN 2560 ELSE 2580
2560 M=M+1
2570 GOTO 2590
2580 M=M-1
2590 L(I,2)=L(I,2)+(O-AA)
2600 L(J,2)=L(J,2)-(O-AA)
2610 GOTO 2700
2620 L(J,1)=L(J,1)+3
2630 L(J,2)=L(J,2)+(AA-O)
2640 IF J1=1 THEN 2690
2650 IF J=V THEN 2660 ELSE 2680
2660 M=M+1
2670 GOTO 2690
2680 M=M-1
2690 L(I,2)=L(I,2)-(AA-O)
2700 RETURN 
2710 W1=0
2720 FOR X=1 TO 18
2730 IF S$(X)="" THEN 2740 ELSE 2760
2740 NEXT X
2750 GOTO 2900
2760 W1=W1+(P(X,2)*(5-D)*75)
2770 IF SEG$(S$(X),10,1)="I" THEN 2780 ELSE 2820
2780 P(X,1)=P(X,1)-1
2790 IF P(X,1)<1 THEN 2800 ELSE 2810
2800 P(X,1)=1
2810 GOTO 2740
2820 IF SEG$(S$(X),10,1)="O" THEN 2830 ELSE 2870
2830 P(X,1)=P(X,1)+10
2840 IF P(X,1)>20 THEN 2850 ELSE 2860
2850 P(X,1)=20
2860 GOTO 2740
2870 P(X,1)=20
2880 S$(X)=SEG$(S$(X),1,9)&"O"
2890 GOTO 2740
2900 IJ=INT(RND*18)+1
2910 IF S$(IJ)="" THEN 2930
2920 S$(IJ)=SEG$(S$(IJ),1,9)&"X"
2930 IF M>20 THEN 2940 ELSE 2950
2940 M=20
2950 REM  
2960 J1=1
2970 FOR X=1 TO 7 STEP 2
2980 I=VAL(SEG$(F$(W),X,1))
2990 J=VAL(SEG$(F$(W),X+1,1))
3000 IF (V=I)+(V=J) THEN 3010 ELSE 3030
3010 NEXT X
3020 GOTO 3120
3030 O=INT(RND*3)+INT(RND*3)
3040 AA=INT(RND*2)+INT(RND*2)+INT(RND*2)
3050 IF INT(RND*15)=2 THEN 3060 ELSE 3070
3060 O=0
3070 IF INT(RND*10)=2 THEN 3080 ELSE 3090
3080 AA=0
3090 GOSUB 2480
3100 PRINT T$(D,I);TAB(12);O;TAB(15);T$(D,J);TAB(26);AA
3110 GOTO 3010
3120 GOSUB 4850
3130 J1=0
3140 CALL CLEAR
3150 H=0
3160 FOR X=1 TO 18
3170 IF S$(X)="" THEN 3180 ELSE 3190
3180 H=H+1
3190 NEXT X
3200 IF H<3 THEN 3420
3210 A=INT(RND*18)+1
3220 IF S$(A)="" THEN 3230 ELSE 3210
3230 PRINT "DO YOU WISH TO BUY :-":::
3240 PRINT STR$(A);" ";SEG$(P$(A),1,8);" ";SEG$(P$(A),9,1);
3250 PRINT ". Sk";P(A,2);" Fi";P(A,1):::
3260 PRINT "Transfer Fee $";STR$((P(A,2)*5000)+((4-D)*30000))
3270 PRINT ::::::
3280 INPUT "1=YES,2=NO  >":AR
3290 IF (AR<1)+(AR>2) THEN 3230
3300 ON AR GOTO 3310,3360
3310 C=C-((P(A,2)*5000)+((4-D)*30000))
3320 S$(A)=P$(A)
3330 PRINT :::SEG$(S$(A),1,8);" has joined"::"your squad":::
3340 GOSUB 4850
3350 GOTO 3420
3360 P(A,1)=P(A,1)-3
3370 IF P(A,1)<3 THEN 3380 ELSE 3390
3380 P(A,1)=3
3390 P(A,2)=P(A,2)+1
3400 IF P(A,2)>5 THEN 3410 ELSE 3420
3410 P(A,2)=5
3420 C=C-W1-R+G1
3430 F=INT(((((5-D)*50)+((9-G(V))*5)+INT((C-LB)/10000))+M)/30)
3440 IF F>100 THEN 3450 ELSE 3460
3450 F=100
3460 IF LB=0 THEN 3510
3470 LB=INT(LB*.01)+LB
3480 B1=INT(LB/(15-W))+1
3490 LB=LB-B1
3500 C=C-B1
3510 GOSUB 4750
3520 W=W+1
3530 RETURN 
3540 FOR DEL=1 TO 1000
3550 NEXT DEL
3560 PRINT T$(D,I);TAB(17);STR$(O);TAB(19);T$(D,J);TAB(28);STR$(AA)
3570 RETURN 
3580 GOSUB 320
3590 W=1
3600 LB=0
3610 E=E+1
3620 FOR X=1 TO 8
3630 L(X,1)=0
3640 L(X,2)=0
3650 NEXT X
3660 IF G(V)=1 THEN 3670 ELSE 3730
3670 IF (G(V)=1)*(D=1) THEN 4000
3680 D=D-1
3690 R=R+200
3700 X=INT(RND*8)+1
3710 T$(D,X)=O$
3720 V=X
3730 GOTO 620
3740 CALL CLEAR
3750 K=1
3760 GOSUB 1350
3770 K=0
3780 H=0
3790 FOR X=1 TO 18
3800 IF S$(X)="" THEN 3820
3810 H=H+1
3820 NEXT X
3830 IF H=12 THEN 3990
3840 INPUT "WHICH PLAYER DO YOU WISH TO SELL >":A
3850 IF A=0 THEN 3990
3860 IF (A<1)+(A>18) THEN 3740
3870 IF S$(A)="" THEN 3740
3880 SP=((P(A,2)*50+(INT(RND*20)-10))*100)+((4-D)*30000)
3890 TE=INT(RND*4)+1
3900 WT=INT(RND*8)+1
3910 IF O$=T$(TE,WT) THEN 3890
3920 CALL CLEAR
3930 PRINT T$(TE,WT);" HAVE OFFERED $";STR$(SP):::
3940 INPUT "DO YOU ACCEPT (Y\N) >":AR$
3950 IF (AR$="Y")+(AR$="y") THEN 3960 ELSE 3990
3960 C=C+SP
3970 P$(A)=S$(A)
3980 S$(A)=""
3990 RETURN 
4000 CALL CLEAR
4010 PRINT TAB(11);O$:::::
4020 PRINT "     C H A M P I O N S":::::
4030 PRINT "      OF DIVISION ONE":::::
4040 PRINT "YOUR MANAGERS RATING IS";F:::::
4050 GOTO 4050
4060 FOR X=1 TO 7 STEP 2
4070 Y9=VAL(SEG$(F$(W),X,1))
4080 Z9=VAL(SEG$(F$(W),X+1,1))
4090 IF V=Y9 THEN 4130
4100 IF V=Z9 THEN 4180
4110 NEXT X
4120 GOTO 4230
4130 Z2=1
4140 I=Y9
4150 J=Z9
4160 Z3=2
4170 GOTO 4110
4180 I=Y9
4190 J=Z9
4200 Z2=2
4210 Z3=1
4220 GOTO 4110
4230 RETURN 
4240 DV=ABS(B(Z2)-B(Z3))
4250 EG=0
4260 EX=0
4270 IF DV>6 THEN 4280 ELSE 4300
4280 DV=6
4290 EX=1
4300 SC1=INT(RND*(8-DV))+1
4310 IF EX=1 THEN 4320 ELSE 4340
4320 IF INT(RND*3)=1 THEN 4330 ELSE 4340
4330 EG=1
4340 DO=-DV
4350 SC2=INT(RND*(8-DO))
4360 IF B(Z2)=B(Z3) THEN 4500
4370 IF B(Z2)>B(Z3) THEN 4440
4380 IF SC1=1 THEN 4390 ELSE 4400
4390 AA=AA+1
4400 AA=AA+EG
4410 IF SC2=1 THEN 4420 ELSE 4540
4420 O=O+1
4430 GOTO 4540
4440 IF SC1=1 THEN 4450 ELSE 4460
4450 O=O+1
4460 O=O+EG
4470 IF SC2=1 THEN 4480 ELSE 4540
4480 AA=AA+1
4490 GOTO 4540
4500 IF SC1=1 THEN 4510 ELSE 4520
4510 O=O+1
4520 IF SC2=1 THEN 4530 ELSE 4540
4530 AA=AA+1
4540 RETURN 
4550 FOR X=1 TO 5
4560 N(1,X)=0
4570 NEXT X
4580 FOR X=1 TO 18
4590 IF SEG$(S$(X),10,1)="I" THEN 4620
4600 NEXT X
4610 GOTO 4720
4620 N(1,4)=N(1,4)+P(X,1)
4630 IF SEG$(S$(X),9,1)="D" THEN 4660
4640 IF SEG$(S$(X),9,1)="M" THEN 4680
4650 GOTO 4700
4660 N(1,1)=N(1,1)+P(X,2)
4670 GOTO 4600
4680 N(1,2)=N(1,2)+P(X,2)
4690 GOTO 4600
4700 N(1,3)=N(1,3)+P(X,2)
4710 GOTO 4600
4720 N(1,4)=INT(N(1,4)/11)
4730 N(1,5)=M
4740 RETURN 
4750 FOR X=1 TO 5
4760 N(2,X)=INT(RND*15)+5
4770 NEXT X
4780 RETURN 
4790 H=0
4800 FOR X=1 TO 18
4810 IF SEG$(S$(X),10,1)="I" THEN 4820 ELSE 4830
4820 H=H+1
4830 NEXT X
4840 RETURN 
4850 PRINT ::"      HIT ANY KEY"
4860 CALL KEY(0,K,S9)
4870 IF S9=0 THEN 4860
4880 RETURN 
4890 DATA Arsenal,Aston V,Everton,Ipswich T,Liverpool,Man utd,Q.P.R.,West Ham
4900 DATA Blackburn,Charlton,Chelsea,Crystal P,Leeds Utd,Man City,Newcastle,Sheff Wed
4910 DATA Bolton W,Bristol R,Hull City,Lincoln,Oxford U,Preston,Sheff Utd,Wigan Ath
4920 DATA Aldershot,Blackpool,Burnley,Chester,Crewe A,Rochdale,Tranmere,York City
4930 DATA Shilton DI,Neal    DI,Sansom  DI,Martin  DI,McQueen DI,Osman   DI
4940 DATA Robson  MI,Wilkins MI,Keegan  MI,Souness MI,Wark    MI,Hoddle  MI
4950 DATA Mariner AI,Francis AI,DalglishAI,Rush    AI,Shaw    AI,Crooks  AI
4960 DATA 12345678,81726354,13245768,71825364,14235867,61528374,15263748,51627384
4970 DATA 16253847,41328576,17283546,31427586,18273645,21436587
4980 PRINT "YOU SEEM TO HAVE HAD MONEY  PROBLEMS IN THIS GAME       TRY AGAIN SOON"
4990 END 
