home *** CD-ROM | disk | FTP | other *** search
Wrap
AMOS Source Code | 1978-12-04 | 25.5 KB | 499 lines
Set Buffer 60 10 Rem************ football league program ***************** 12 Break Off : On Error Goto 15000 13 Screen Open 0,320,256,32,Lowres : Get Palette 0 14 Curs Off : Cls 0 : Wind Open 1,70,60,20,10,1 : Wind Save : Wind Close 18 Flash Off 20 Dim TEMP$(26),SCORE1(30),SCORE$(30),NAME$(26),TP(26),TW(26),TL(26),TD(26),TF(26),TA(26),TPTS(26),DIFF(30),FL(26),FL1(26) 21 Dim XPT(26),XP(26),XW(26),XD(26),XL(26),XF(26),XA(26),XN$(26),XDI(26),M(9),SCORE1$(26) 22 Limit Mouse 0,0 To 500,312 25 Curs Off : Screen Open 3,320,200,16,Lowres : Cls 0 : Screen Hide 3 : Curs On 30 Load Iff "master:menu.iff",1 : Screen Hide 1 40 Load Iff "master:menu1.iff",2 : Screen Hide 2 42 Get Block 1,10,50,140,32 : Get Block 2,10,94,140,32 : Get Block 3,10,134,140,32 44 Get Block 4,167,50,140,32 : Get Block 5,167,94,140,32 : Get Block 6,167,134,140,32 46 Get Block 7,12,174,140,32 : Get Block 8,167,174,140,32 : Rem blocks to change menu colors 53 Screen Close 0 : Auto View On 55 Screen Open 0,320,256,32,Lowres : Curs Off : Get Palette 1 : Screen Copy 1 To 0 57 Proc TES 60 X=X Mouse : Y=Y Mouse : M=Mouse Click 70 If X>135 and X<=275 and Y>92 and Y<=122 and M=1 Then Put Block 1 : Goto 2000 80 If X>135 and X<=275 and Y>135 and Y<=166 and M=1 Then Put Block 2 : Goto 3000 90 If X>135 and X<=275 and Y>175 and Y<=209 and M=1 Then Put Block 3 : Goto 4000 100 If X>290 and X<=430 and Y>92 and Y<=122 and M=1 Then Put Block 4 : Goto 5000 110 If X>290 and X<=430 and Y>135 and Y<=166 and M=1 Then Put Block 5 : Goto 6000 120 If X>290 and X<=430 and Y>175 and Y<=209 and M=1 Then Put Block 6 : Goto 7000 130 If X>135 and X<=275 and Y>220 and Y<251 and M=1 Then Put Block 7 : Goto 8000 140 If X>290 and X<=430 and Y>220 and Y<=251 and M=1 Then Put Block 8 : Goto 9000 1000 Goto 60 2000 Rem************** update league ****************** 2010 Wait 50 : Cls 0 : Pen 1 : Writing 0,2 : Locate 0,0 : Clear Key 2020 Print " UPDATE LEAGUE" 2025 If NAMEL$="" Then Locate 5,14 : Print "NO LEAGUE PRESENT IN DATABASE" : Goto 8100 2028 If DATE1$<>"" Then Locate 6,14 : Print "SCORES ARE ALREADY PRESENT" : Goto 8100 2030 Print : Print " TYPE 'M' TO EXIT" : Print : Print " ENTER MATCH SCORES" : Print : Line Input " FOR DATE ";DATE1$ 2034 DATE1$=Upper$(DATE1$) : If DATE1$="M" Then DATE1$="" : Goto 8110 2035 If Len(DATE1$)>12 or Len(DATE1$)<1 Then DATE1$="" : Goto 2000 2040 For K=1 To Len(DATE1$) 2042 TEMP$=Mid$(DATE1$,K,1) 2043 If TEMP$="/" Then TEMP$="-" 2044 If TEMP$="\" Then TEMP$="-" 2045 If TEMP$=":" Then TEMP$="-" 2046 If TEMP$="|" Then TEMP$="-" 2047 TEMP1$=TEMP1$+TEMP$ 2048 Next K : DATE1$=TEMP1$ : TEMP1$="" 2050 Curs Off : Cls 0 : Locate 0,0 : Print " INPUT MATCH RESULTS" 2060 Get Palette 3 : Pen 2 : Menu$(1)="TEAMS " : For K=1 To TEAMS : Menu$(1,K)=NAME$(K) : Next K : Menu$(1,TEAMS+1)="DONE" 2070 B7=2 : B8=4 : Menu On : CO=0 : CO1=0 : GAME=0 : For K=1 To TEAMS : FL(K)=1 : FL1(K)=0 : Next K 2080 If Choice Then GAME=Choice(2) Else GAME=0 2081 If GAME=TEAMS+1 and CO1=0 Then DATE1$="" : Menu Del(1) : Menu Off : Goto 8110 2085 If GAME=TEAMS+1 and CO=0 Then Menu Del(1) : Goto 2150 : Rem line out of loop 2088 If GAME=TEAMS+1 Then GAME=0 : Goto 2080 2090 If GAME>0 Then Locate B7,B8 : Print NAME$(GAME) : Inc CO1 : SCORE$(CO1)=NAME$(GAME) : Menu Inactive(1,GAME) : FL(GAME)=0 2120 If GAME>0 Then Inc CO : If CO=2 Then CO=0 : B8=B8+2 : B7=2 2130 If GAME>0 and CO=1 Then B7=B7+19 : If CO=1 Then Locate 19,B8 : Print "v" 2140 Goto 2080 2150 Rem ****************** input scores ****************** 2160 Pen 2 : Writing 0,2 : Locate 0,0 2170 Print " " : Locate 0,0 : Print " INPUT MATCH SCORES" 2180 Menu$(2)="SCORES " : For K=1 To 25 : Menu$(2,K)=Str$(K-1) : Next K : Menu$(2,26)="done" 2190 Menu On : D8=15 : D9=4 : NUMB=0 : CO2=0 : CO3=0 2200 If Choice Then NUMB=Choice(2) Else NUMB=0 2210 If NUMB=26 and CO3=CO1 Then Menu Del(2) : Menu Off : Goto 2270 : Rem line out of loop 2220 If NUMB>0 and NUMB<=25 Then Locate D8,D9 : Print NUMB-1 : Inc CO3 : SCORE1(CO3)=NUMB-1 2230 If NUMB>0 and NUMB<=25 Then Inc CO2 : If CO2=2 Then CO2=0 : D9=D9+2 : D8=15 2240 If NUMB>0 and NUMB<=25 and CO2=1 Then D8=D8+19 2250 If CO3=CO1 Then For K=1 To 25 : Menu Inactive(2,K) : Next K : Rem counter for matches & scores 2260 Goto 2200 2270 Rem ****************** print results & verify ********************** 2280 Cls 0 : Get Palette 1 : Pen 1 : Writing 0,2 : Locate 0,0 2290 Print " ARE THESE RESULTS OK?" 2300 Print : A8=3 2310 For K=1 To CO1 Step 2 2320 Locate 2,A8 : Print SCORE$(K) : Locate 15,A8 : Print SCORE1(K) : Locate 20,A8 : Print SCORE$(K+1) : Locate 32,A8 : Print SCORE1(K+1) 2330 Inc A8 : Inc A8 2340 Next K 2350 Locate 3,30 : Print Border$(" NO ",1); : Locate 27,30 : Print Border$(" YES ",1) 2355 Writing 0,1 : Pen 3 2360 M=Mouse Click : X=X Mouse : Y=Y Mouse 2370 If X>148 and X<=201 and Y>278 and Y<=292 and M=1 Then DATE1$="" : Locate 3,30 : Print Border$(" NO ",1) : Wait 75 : Goto 2000 2380 If X>341 and X<=402 and Y>278 and Y<=292 and M=1 Then Locate 27,30 : Print Border$(" YES ",1) : Wait 75 : Goto 2400 2390 Goto 2360 2400 Cls 0 : Writing 0,2 : Pen 1 2410 Locate 7,14 : Print "UPDATE LEAGUE POSITIONS?" 2450 Locate 3,30 : Print Border$(" NO ",1); : Locate 27,30 : Print Border$(" YES ",1) 2455 Writing 0,1 : Pen 3 2460 M=Mouse Click : X=X Mouse : Y=Y Mouse 2470 If X>148 and X<=201 and Y>278 and Y<=292 and M=1 Then Locate 3,30 : Print Border$(" NO ",1) : Wait 75 : Goto 8110 2480 If X>341 and X<=402 and Y>278 and Y<=292 and M=1 Then Locate 27,30 : Print Border$(" YES ",1) : Wait 75 : Goto 2500 2490 Goto 2460 2500 Cls 0 : Writing 0,2 : Pen 1 2510 Locate 5,10 : Print " UPDATING LEAGUE POSITIONS" 2520 Gosub 10000 2530 Goto 8110 3000 Rem *************** edit league ********************* 3010 Curs Off : Wait 50 : Cls 0 : Pen 1 : Writing 0,2 : Locate 0,0 3020 Print " EDIT LEAGUE" 3030 If NAMEL$="" Then Locate 4,14 : Print "NO LEAGUE PRESENT IN DATABASE" : Wait 50 : Goto 8100 3040 Get Palette 3 : Pen 2 : Clear Key 3045 Menu$(5)="TEAMS" : For K=1 To TEAMS : Menu$(5,K)=NAME$(K) : Next K : Menu$(5,TEAMS+1)="CHANGE NAME" 3050 Menu$(5,TEAMS+2)="CLEAR LEAGUE" : Menu$(5,TEAMS+3)="DONE" : Menu On 3060 If Choice Then SELECT=Choice(2) Else SELECT=0 3065 If SELECT=TEAMS+1 Then Menu Del(5) : Menu Off : Goto 3500 3070 If SELECT=TEAMS+3 Then Menu Del(5) : Menu Off : Goto 8110 3080 If SELECT=TEAMS+2 Then Menu Del(5) : Menu Off : Goto 3900 3090 If SELECT>0 and SELECT<=TEAMS Then Menu Del(5) : Menu Off : Goto 3200 3100 Goto 3060 3200 Rem *************** edit teams data ********************** 3205 MM$=NAME$(SELECT) : M(1)=TP(SELECT) : M(2)=TW(SELECT) 3206 M(3)=TD(SELECT) : M(4)=TL(SELECT) : M(5)=TF(SELECT) : M(6)=TA(SELECT) 3207 M(7)=TPTS(SELECT) : TP$="" : TW$="" : TD$="" : TL$="" : TF$="" : TA$="" : TPTS$="" 3210 Locate 1,10 : Print "TEAM P W D L F A PTS" 3220 Locate 1,12 : Print MM$ 3230 Locate 16,12 : Print M(1) : Locate 19,12 : Print M(2) 3240 Locate 22,12 : Print M(3) : Locate 25,12 : Print M(4) 3250 Locate 28,12 : Print M(5) : Locate 32,12 : Print M(6) 3260 Locate 36,12 : Print M(7) 3270 Locate 1,16 : Print "TEAM P W D L F A PTS" 3280 Locate 0,18 : Line Input " ";NAME$(SELECT) : NAME$(SELECT)=Upper$(NAME$(SELECT)) : If Len(NAME$(SELECT))<1 or Len(NAME$(SELECT))>13 Then NAME$(SELECT)=MM$ : Locate 1,18 : Print MM$ 3290 Locate 16,18 : Input " ";TP$ : If TP$="" Then TP(SELECT)=M(1) : Locate 16,18 : Print M(1) : Else TP(SELECT)=Val(TP$) 3295 Locate 19,18 : Input " ";TW$ : If TW$="" Then TW(SELECT)=M(2) : Locate 19,18 : Print M(2) : Else TW(SELECT)=Val(TW$) 3300 Locate 22,18 : Input " ";TD$ : If TD$="" Then TD(SELECT)=M(3) : Locate 22,18 : Print M(3) : Else TD(SELECT)=Val(TD$) 3305 Locate 25,18 : Input " ";TL$ : If TL$="" Then TL(SELECT)=M(4) : Locate 25,18 : Print M(4) : Else TL(SELECT)=Val(TL$) 3310 Locate 28,18 : Input " ";TF$ : If TF$="" Then TF(SELECT)=M(5) : Locate 28,18 : Print M(5) : Else TF(SELECT)=Val(TF$) 3315 Locate 32,18 : Input " ";TA$ : If TA$="" Then TA(SELECT)=M(6) : Locate 32,18 : Print M(6) : Else TA(SELECT)=Val(TA$) 3320 Locate 36,18 : Input " ";TPTS$ : If TPTS$="" Then TPTS(SELECT)=M(7) : Locate 36,18 : Print M(7) : Else TPTS(SELECT)=Val(TPTS$) 3330 Curs Off : Locate 9,28 : Print "NEW LEAGUE DATA ENTERED" : Wait 100 : For K=1 To 9 : M(K)=0 : Next K : MM$="" 3350 Cls 0 : Get Palette 1 : Writing 0,2 : Pen 1 3360 Locate 7,14 : Print "UPDATE LEAGUE POSITIONS?" 3370 Locate 3,30 : Print Border$(" NO ",1); : Locate 27,30 : Print Border$(" YES ",1) 3375 Writing 0,1 : Pen 1 3380 M=Mouse Click : X=X Mouse : Y=Y Mouse 3390 If X>148 and X<=201 and Y>278 and Y<=292 and M=1 Then Locate 3,30 : Print Border$(" NO ",1) : Wait 75 : Goto 3000 3400 If X>341 and X<=402 and Y>278 and Y<=292 and M=1 Then Locate 27,30 : Print Border$(" YES ",1) : Wait 75 : Goto 3420 3410 Goto 3380 3420 Cls 0 : Writing 0,2 : Pen 1 3430 Locate 5,10 : Print " UPDATING LEAGUE POSITIONS" 3440 Gosub 10160 : Goto 3000 3500 Rem******************* input new league name ************** 3505 M$=NAMEL$ 3510 Locate 4,14 : Print "CURRENT LEAGUE NAME-:";NAMEL$ 3515 Locate 4,18 : Line Input "NEW LEAGUE NAME-:";NAMEL$ : NAMEL$=Upper$(NAMEL$) 3520 If Len(NAMEL$)<1 or Len(NAMEL$)>12 Then NAMEL$=M$ 3522 For K=1 To Len(NAMEL$) 3523 TEMP$=Mid$(NAMEL$,K,1) 3524 If TEMP$="/" Then TEMP$="-" 3525 If TEMP$="\" Then TEMP$="-" 3526 If TEMP$=":" Then TEMP$="-" 3527 If TEMP$="|" Then TEMP$="-" 3528 TEMP1$=TEMP1$+TEMP$ 3529 Next K : NAMEL$=TEMP1$ : TEMP1$="" 3530 M$="" 35400 Goto 3000 3900 Rem *************** clear league database *********** 3910 For K=1 To TEAMS 3915 NAME$(K)="" : TP(K)=0 3920 TP(K)=0 : TW(K)=0 3930 TL(K)=0 : TD(K)=0 3940 TF(K)=0 : TA(K)=0 3950 TPTS(K)=0 : DIFF(K)=0 3960 Next K 3965 NAMEL$="" : DATE$="" : TEAMS=0 3970 Locate 7,28 : Print "LEAGUE DATABASE NOW CLEAR" : Wait 50 : Goto 8100 4000 Rem *************** view league ********************* 4010 Wait 50 : Cls 0 : Pen 1 : Writing 0,2 : Locate 0,0 4020 Print " VIEW LEAGUE-";NAMEL$; 4030 If NAMEL$="" Then Print "NOT AVAILABLE" : Locate 4,14 : Print " NO LEAGUE PRESENT IN DATABASE" : Goto 8100 4035 Locate 0,2 : Print "TEAM P W D L F A PTS" : Print 4036 B1=13 : B2=4 4040 For K=1 To TEAMS 4041 Print NAME$(K) 4042 Locate B1,B2 : Print TP(K) 4045 Locate B1+3,B2 : Print TW(K) 4048 Locate B1+6,B2 : Print TD(K) 4049 Locate B1+9,B2 : Print TL(K) 4052 Locate B1+12,B2 : Print TF(K) 4055 Locate B1+16,B2 : Print TA(K) 4058 Locate B1+20,B2 : Print TPTS(K) 4070 B2=B2+1 : Next K 4105 Print : Print " PRESS MOUSE BUTTON"; 4110 M=Mouse Click : If M=0 Then 4110 4120 Goto 8110 : Rem back to menu 5000 Rem *************** edit scores ************************* 5010 Wait 50 : Get Palette 3 : Cls 0 : Pen 2 : Writing 0,2 : Locate 0,0 : Curs Off 5015 Print " EDIT SCORES" 5020 If DATE1$="" Then Locate 8,14 : Print "NO SCORES PRESENT YET" : Goto 8100 5030 Menu$(4)="TEAMS" : For K=1 To CO1 : Menu$(4,K)=SCORE$(K) : Next K : Menu$(4,CO1+2)="DONE" : Menu$(4,CO1+1)="CLEAR ALL" 5040 Menu On 5050 If Choice Then GAME=Choice(2) Else GAME=0 5060 If GAME=CO1+2 Then Menu Del(4) : Menu Off : Goto 8110 5070 If GAME=CO1+1 Then Menu Del(4) : Menu Off : Goto 5500 5080 If GAME>0 Then Menu Del(4) : Menu Off : Goto 5110 5100 Goto 5050 5110 Rem ************** input new data ********************** 5115 TEMP$=SCORE$(GAME) : TEMP=SCORE1(GAME) 5120 Locate 4,12 : Print SCORE$(GAME)+" "; : Print TEMP 5130 Locate 4,20 : Line Input "TEAM NAME ";SCORE$(GAME) : SCORE$(GAME)=Upper$(SCORE$(GAME)) 5131 If Len(SCORE$(GAME))>13 Then Locate 4,30 : Print " NAME TOO LONG " : SCORE$(GAME)=TEMP$ : SCORE1(GAME)=TEMP : Goto 5140 5132 If Len(SCORE$(GAME))<1 Then SCORE$(GAME)=TEMP$ : Locate 14,20 : Print TEMP$ 5133 Locate 28,20 5134 Input "SCORE ";SCORE1$(GAME) : If Len(SCORE1$(GAME))=0 or Val(SCORE1$(GAME))>24 Then SCORE1$(GAME)=Str$(TEMP) : Locate 33,20 : Print TEMP;" " 5135 SCORE1(GAME)=Val(SCORE1$(GAME)) 5140 Curs Off : Wait 100 5150 Goto 5000 5500 Rem ************** clear all score variables ***************** 5510 For K=1 To 26 : SCORE$(K)="" : SCORE1(K)=0 : Next K : CO1=0 : CO3=0 : DATE1$="" 5520 Locate 6,30 : Print " SCORE DATABASE CLEARED" : Wait 50 : Goto 8100 6000 Rem ****************** view scores *********************** 6010 Wait 50 : Get Palette 1 : Cls 0 : Pen 1 : Writing 0,2 : Locate 0,0 6020 Print " VIEW SCORES-DATE ";DATE1$ 6025 If DATE1$="" Then Locate 17,0 : Print "-NOT AVAILABLE" : Locate 8,14 : Print "NO SCORES PRESENT YET " : Wait 50 : Goto 8100 6030 Print : A9=3 6040 For K=1 To CO1 Step 2 6050 Locate 1,A9 : Print SCORE$(K) : Locate 14,A9 : Print SCORE1(K) : Locate 20,A9 : Print SCORE$(K+1) : Locate 33,A9 : Print SCORE1(K+1) 6060 Inc A9 : Inc A9 6070 Next K 6080 Locate 3,30 : Print " PRESS MOUSE TO RETURN TO MENU" 6090 M=Mouse Click : If M<>0 Then 8110 6100 Goto 6090 7000 Rem ******************* disk access *********************** 7010 Wait 50 : Cls 0 : Get Palette 3 : Pen 2 : Writing 0,2 : Locate 14,0 7020 Print "DISK ACCESS" 7030 Print : Under On : Locate 3,3 : Print "LOADING A LEAGUE WILL ERASE DATA" : Under Off 7040 Menu$(3)="FILES" : Menu$(3,1)="LOAD LEAGUE" : Menu$(3,2)="SAVE LEAGUE" : Menu$(3,3)="LOAD SCORES" 7050 Menu$(3,4)="SAVE SCORES" : Menu$(3,5)="PRINT SCORES" : Menu$(3,6)="PRINT LEAGUE" : Menu$(3,7)="KILL LEAGUE FILE" : Menu$(3,8)="KILL SCORE FILE" : Menu$(3,9)="MAIN MENU" 7060 Menu On 7089 If Choice Then DSK=Choice(2) Else DSK=0 7090 If DSK=1 Then DSK=0 : Menu Del(3) : Menu Off : Goto 7200 7100 If DSK=2 Then DSK=0 : Menu Del(3) : Menu Off : Goto 7300 7102 If DSK=3 Then DSK=0 : Menu Del(3) : Menu Off : Goto 7400 7105 If DSK=4 Then DSK=0 : Menu Del(3) : Menu Off : Goto 7500 7106 If DSK=5 Then DSK=0 : Menu Del(3) : Menu Off : Goto 7700 7107 If DSK=6 Then DSK=0 : Menu Del(3) : Menu Off : Goto 7800 7108 If DSK=7 Then DSK=0 : Menu Del(3) : Menu Off : Goto 7930 7109 If DSK=8 Then DSK=0 : Menu Del(3) : Menu Off : Goto 7900 7110 If DSK=9 Then DSK=0 : Menu Del(3) : Menu Off : Goto 8110 7140 Goto 7089 7200 Rem ***************** load division ********************** 7201 If Exist("football:leagues/") Then Dir$="football:leagues/" Else Proc DAT 7203 TEAMS=0 : NAMEL$="" : DATE$="" : DATE1$="" : CO1=0 : CO3=0 : Rem clear variables 7205 For K=1 To 26 : NAME$(K)="" : TP(K)=0 : TW(K)=0 : TL(K)=0 : TD(K)=0 : TF(K)=0 : TA(K)=0 : DIFF(K)=0 : SCORE$(K)="" : SCORE1(K)=0 : Next K 7210 F$=Fsel$("football:leagues/","","LOAD LEAGUE NAMES ") 7220 If F$="" Then 8110 7225 For K=18 To Len(F$) : F1$=F1$+Mid$(F$,K,1) : Next K : F$=F1$ : F1$="" 7230 NAMEL$=F$ : F$="" 7240 Open In 1,NAMEL$ 7245 Line Input #1,DATE$ 7250 Input #1,TEAMS 7255 For K=1 To TEAMS 7260 Line Input #1,NAME$(K) 7265 Input #1,TP(K) : Input #1,TW(K) : Input #1,TL(K) : Input #1,TD(K) : Input #1,TF(K) : Input #1,TA(K) : Input #1,TPTS(K) : Input #1,DIFF(K) 7270 Next K 7280 Close 1 : Get Palette 1 : Cls 0 : Pen 1 : Writing 0,2 7285 Locate 14,0 : Print "DISK ACCESS" : Locate 12,14 : Print "DATA LOADED OK!" : Wait 50 : Goto 8100 7300 Rem ******************** save division *********************** 7302 If NAMEL$="" Then Cls 0 : Locate 2,10 : Print " NO LEAGUE AVAILABLE FOR SAVING" : Goto 8100 7305 If Exist("football:leagues/") Then Dir$="football:leagues/" Else Proc DAT 7310 Open Out 1,NAMEL$ 7312 Print #1,DATE$ 7314 Print #1,TEAMS 7320 For K=1 To TEAMS 7330 Print #1,NAME$(K) 7340 Print #1,TP(K) : Print #1,TW(K) : Print #1,TL(K) : Print #1,TD(K) : Print #1,TF(K) : Print #1,TA(K) : Print #1,TPTS(K) : Print #1,DIFF(K) 7350 Next K 7360 Close 1 7370 Cls 0 : Get Palette 1 : Pen 1 : Writing 0,2 7380 Locate 14,0 : Print "DISK ACCESS" : Locate 12,14 : Print "DATA SAVED OK!" : Wait 50 : Goto 8100 7400 Rem ********************* load scores *********************** 7410 If DATE1$<>"" Then Locate 6,14 : Print " SCORES ALREADY PRESENT " : Wait 50 : Goto 8100 7415 If Exist("football:scores/") Then Dir$="football:scores/" Else Proc DAT1 7420 F6$=Fsel$("football:scores/","","LOAD SCORE SET") 7430 If F6$="" Then 8110 7440 For K=17 To Len(F6$) : F7$=F7$+Mid$(F6$,K,1) : Next K : F6$=F7$ : F7$="" 7450 DATE1$=F6$ : F6$="" 7460 Open In 1,DATE1$ 7465 Input #1,CO1 7470 For K=1 To CO1 7475 Line Input #1,SCORE$(K) 7480 Input #1,SCORE1(K) 7485 Next K 7490 Goto 7280 7500 Rem ********************* save scores *********************** 7510 If DATE1$="" Then Locate 2,14 : Print " NO SCORES AVAILABLE FOR SAVING" : Wait 50 : Goto 8100 7515 If Exist("football:scores/") Then Dir$="football:scores/" Else Proc DAT1 7560 Open Out 1,DATE1$ 7570 Print #1,CO1 7580 For K=1 To CO1 7590 Print #1,SCORE$(K) 7600 Print #1,SCORE1(K) 7610 Next K 7620 Goto 7360 7700 Rem ************* print scores *********************** 7710 If DATE1$="" Then Locate 2,14 : Print " NO SCORES AVAILABLE FOR PRINTING" : Wait 50 : Goto 8100 7711 Proc STAR : If PRI=1 Then 7720 Else Goto 8110 7720 Open Port 2,"par:" 7730 Print #2,"DATE-:"+DATE1$ : Print #2, 7740 For K=1 To CO1 Step 2 7745 AA$=" " : BB$=Left$(AA$,13-Len(SCORE$(K))) : CC$=Left$(AA$,13-Len(SCORE$(K+1))) 7750 Print #2,SCORE$(K);BB$;" "; : If SCORE1(K)<=9 Then Print #2,SCORE1(K);" "; Else If SCORE1(K)>9 Then Print #2,SCORE1(K);" "; 7755 Print #2,SCORE$(K+1);CC$;" "; : Print #2,SCORE1(K+1) 7760 Next K 7770 Close 2 : Goto 8110 7800 Rem***************** print league ********************* 7810 If NAMEL$="" Then Locate 2,14 : Print "NO LEAGUE AVAILABLE FOR PRINTING" : Wait 50 : Goto 8100 7811 Proc STAR : If PRI=1 Then 7820 Else Goto 8110 7820 Open Port 2,"par:" 7830 Print #2,"LEAGUE -:";NAMEL$; : Print #2," DATE CREATED-:";DATE$; : Print #2," NO OF TEAMS-:";TEAMS : Print #2, 7840 Print #2,"TEAM P W D L F A PTS G/DIFF" 7850 For K=1 To TEAMS 7860 AA$=" " : BB$=Left$(AA$,13-Len(NAME$(K))) 7870 Print #2,NAME$(K)+BB$; : Print #2," "; 7871 If TP(K)>9 Then Print #2,TP(K); Else Print #2,TP(K);" "; 7872 If TW(K)>9 Then Print #2,TW(K); Else Print #2,TW(K);" "; 7873 If TD(K)>9 Then Print #2,TD(K); Else Print #2,TD(K);" "; 7874 If TL(K)>9 Then Print #2,TL(K); Else Print #2,TL(K);" "; 7875 If TF(K)<=9 Then Print #2,TF(K);" "; Else If TF(K)>9 and TF(K)<99 Then Print #2,TF(K);" "; Else If TF(K)>99 Then Print #2,TF(K);" "; 7876 If TA(K)<=9 Then Print #2,TA(K);" "; Else If TA(K)>9 and TA(K)<99 Then Print #2,TA(K);" "; Else If TA(K)>99 Then Print #2,TA(K);" "; 7877 If TPTS(K)<=9 Then Print #2,TPTS(K);" "; Else If TPTS(K)>9 and TPTS(K)<99 Then Print #2,TPTS(K);" "; Else If TPTS(K)>99 Then Print #2,TPTS(K);" "; 7878 If DIFF(K)>=0 Then Print #2," +";Abs(DIFF(K)) 7879 If DIFF(K)<0 Then Print #2," -";Abs(DIFF(K)) 7880 Next K 7885 Print #2,"-------------------------------------------------" 7886 For K=1 To 20 : Print #2, : Next K 7890 Goto 7770 7900 Rem ************* kill score files ************************ 7901 Cls 0 : Writing 0,2 : Pen 1 : Get Palette 1 : Locate 0,0 7902 Print " MURDER SCORE FILE" 7905 If Exist("football:scores/") Then Dir$="football:scores/" Else Proc DAT1 7910 F6$=Fsel$("football:scores/","","KILL SCORE FILE") 7915 If F6$="" Then 8110 7920 Kill F6$ 7925 Cls 0 : Pen 1 : Writing 0,2 : Get Palette 1 : Locate 8,14 : Print "SCORE FILE ANNIHILATED" : Boom : F6$="" : Wait 50 : Goto 8100 7930 Rem *************** kill league files ***************** 7931 Cls 0 : Writing 0,2 : Pen 1 : Get Palette 1 : Locate 0,0 7932 Print " MURDER LEAGUE FILE" 7933 If Exist("football:leagues/") Then Dir$="football:leagues/" Else Proc DAT1 7934 F6$=Fsel$("football:leagues/","","KILL LEAGUE FILE") 7935 If F6$="" Then 8110 7936 Kill F6$ 7937 Cls 0 : Pen 1 : Writing 0,2 : Get Palette 1 : Locate 7,14 : Print "LEAGUE FILE ANNIHILATED" : Boom : F6$="" : Wait 50 : Goto 8100 8000 Rem ************* create league *********************** 8001 Wait 50 : Cls 0 : Pen 1 : Writing 0,2 : Locate 0,0 : Clear Key 8005 Print " CREATE LEAGUE" 8007 Print : Print " TYPE 'M' TO RETURN TO MAIN MENU" 8008 If NAMEL$<>"" Then Locate 5,12 : Print " LEAGUE ALREADY PRESENT" : Goto 8100 8010 If DATE1$<>"" Then For K=1 To 26 : SCORE$(K)="" : SCORE1(K)=0 : TP(K)=0 : TW(K)=0 : TL(K)=0 : TD(K)=0 : TF(K)=0 : TA(K)=0 : DIFF(K)=0 : Next K : CO1=0 : CO3=0 : DATE1$="" 8015 Locate 3,10 : Line Input "LEAGUE NAME ";NAMEL$ 8019 NAMEL$=Upper$(NAMEL$) : If NAMEL$="M" Then NAMEL$="" : Goto 8110 8021 If Len(NAMEL$)<1 or Len(NAMEL$)>12 Then NAMEL$="" : Curs Off : Goto 8000 8022 For K=1 To Len(NAMEL$) 8023 TEMP$=Mid$(NAMEL$,K,1) 8024 If TEMP$="/" Then TEMP$="-" 8025 If TEMP$="\" Then TEMP$="-" 8026 If TEMP$=":" Then TEMP$="-" 8027 If TEMP$="|" Then TEMP$="-" 8028 TEMP1$=TEMP1$+TEMP$ 8029 Next K : NAMEL$=TEMP1$ : TEMP1$="" 8030 Locate 3,12 : Line Input "DATE ";DATE$ : DATE$=Upper$(DATE$) 8031 If Len(DATE$)>13 or Len(DATE$)<1 Then DATE$="" : NAMEL$="" : Curs Off : Goto 8000 8032 For K=1 To Len(DATE$) 8033 TEMP$=Mid$(DATE$,K,1) 8034 If TEMP$="/" Then TEMP$="-" 8035 If TEMP$="\" Then TEMP$="-" 8036 If TEMP$=":" Then TEMP$="-" 8037 If TEMP$="|" Then TEMP$="-" 8038 TEMP1$=TEMP1$+TEMP$ 8039 Next K : DATE$=TEMP1$ : TEMP1$="" 8040 Locate 3,14 : Print "NUMBER OF TEAMS IN LEAGUE" : Locate 3,15 : Input "(1-26) ";TEAMS$ : TEAMS=Val(TEAMS$) : TEAMS$="" 8041 If TEAMS<>Int(TEAMS/2)*2 Then TEAMS=50 8042 If TEAMS>26 or TEAMS<=1 Then TEAMS=0 : DATE$="" : NAMEL$="" : Curs Off : Goto 8000 8047 Curs Off : Wait 50 : Locate 0,0 : Cls 0 : Clear Key 8048 Print " PLEASE ENTER TEAM NAMES" : Print : Print 8050 For K=1 To TEAMS 8060 Print "TEAM NO";K; : Line Input " ";NAME$(K) 8065 If NAME$(K)="" Then Cup : Goto 8060 8066 If Len(NAME$(K))>13 Then Cup : NAME$(K)="" : Print " " : Cup : Goto 8060 8070 Next K 8080 For K=1 To TEAMS : NAME$(K)=Upper$(NAME$(K)) : Next K : Goto 8110 8100 Curs Off : Wait 100 8110 Curs Off : Proc TES : Dir$="df0:" : Get Palette 1 : Screen Copy 1 To 0 : Writing 0,2 : Pen 1 : Goto 60 : Rem back to menu 9000 Rem ***************** exit program ******************* 9010 Cls 0 : Get Palette 1 : Pen 1 : Writing 0,2 : Locate 0,14 9020 Print " ARE YOU SURE,YOU REALLY WANT TO FINISH" 9025 Print 9030 Print "RIGHT MOUSE TO END--LEFT MOUSE CONTINUES" 9040 Do 9050 M=Mouse Click 9060 If M<>0 Then Exit 9070 Loop 9090 If M=2 Then End 9100 Goto 8110 10000 Rem ************* sort routine for league placings **************** 10070 Rem routine for matches won/lost/points/goals for & against/matches played 10080 For K=1 To CO1 Step 2 10090 For T=1 To TEAMS 10100 If SCORE$(K)=NAME$(T) and SCORE1(K)>SCORE1(K+1) Then Inc TW(T) : TPTS(T)=TPTS(T)+3 10105 If SCORE$(K)=NAME$(T) and SCORE1(K)=SCORE1(K+1) Then Inc TD(T) : TPTS(T)=TPTS(T)+1 10110 If SCORE$(K)=NAME$(T) and SCORE1(K)<SCORE1(K+1) Then Inc TL(T) : TPTS(T)=TPTS(T) 10112 If SCORE$(K)=NAME$(T) Then Inc TP(T) : TF(T)=TF(T)+SCORE1(K) : TA(T)=TA(T)+SCORE1(K+1) 10115 If SCORE$(K+1)=NAME$(T) and SCORE1(K+1)>SCORE1(K) Then Inc TW(T) : TPTS(T)=TPTS(T)+3 10120 If SCORE$(K+1)=NAME$(T) and SCORE1(K+1)=SCORE1(K) Then Inc TD(T) : TPTS(T)=TPTS(T)+1 10125 If SCORE$(K+1)=NAME$(T) and SCORE1(K+1)<SCORE1(K) Then Inc TL(T) : TPTS(T)=TPTS(T) 10128 If SCORE$(K+1)=NAME$(T) Then Inc TP(T) : TF(T)=TF(T)+SCORE1(K+1) : TA(T)=TA(T)+SCORE1(K) 10130 Next T 10140 Next K 10160 Rem ************* sort routine for correct order ******************* 10170 For K=1 To TEAMS : DIFF(K)=(TF(K)-TA(K)) : Next K 10180 K=1 : W=1 : X5=0 : T=-400 : CC=-400 10190 Do 10200 If T<TPTS(K) Then T=TPTS(K) : X5=K 10205 If T=TPTS(K) and CC<DIFF(K) Then CC=DIFF(K) : X5=K 10210 Inc K 10220 If K=TEAMS+1 Then Proc SWOP : Inc W : TPTS(X5)=-500 : T=-400 : K=1 : DIFF(X5)=-500 : CC=-400 10230 If W=TEAMS+1 Then Exit 10240 Loop 10245 Rem **************** transfer teams from dummy variables ************ 10250 For K=1 To TEAMS 10260 TPTS(K)=XPT(K) : XPT(K)=0 10270 TP(K)=XP(K) : XP(K)=0 10280 TW(K)=XW(K) : XW(K)=0 10290 TD(K)=XD(K) : XD(K)=0 10300 TL(K)=XL(K) : XL(K)=0 10310 TF(K)=XF(K) : XF(K)=0 10320 TA(K)=XA(K) : XA(K)=0 10330 NAME$(K)=XN$(K) : XN$(K)="" 10340 DIFF(K)=XDI(K) : XDI(K)=0 10345 Next K 10350 Return 15000 Curs Off : Get Palette 1 : Pen 1 : Cls 0 : Writing 0,2 : Locate 3,14 15010 Print "PROGRAM NOW IN ERROR TRAP,PLEASE " 15020 Locate 3,16 : Print "INFORM AUTHOR OF ERROR CONDITION " 15025 Locate 5,26 : Print "PRESS MOUSE TO ATTEMPT RESUME" 15030 Do 15040 M=Mouse Click 15050 If M<>0 Then Exit 15060 Loop 15070 Resume 8110 Procedure SWOP Shared XPT(),XP(),XW(),XD(),XL(),XF(),XA(),XN$(),XDI(),W,X5 Shared TPTS(),TP(),TW(),TD(),TL(),TF(),TA(),NAME$(),DIFF() XPT(W)=TPTS(X5) : Rem swap points XP(W)=TP(X5) : Rem swap played XW(W)=TW(X5) : Rem swap wins XD(W)=TD(X5) : Rem swap draws XL(W)=TL(X5) : Rem swap losses XF(W)=TF(X5) : Rem swap goals for XA(W)=TA(X5) : Rem swap goals against XN$(W)=NAME$(X5) : Rem swap names XDI(W)=DIFF(X5) : Rem Swap goal difference End Proc Procedure DAT Cls 0 : Get Palette 1 : Pen 1 : Writing 0,2 Locate 1,14 : Print "PLEASE INSERT DATA DISK & PRESS MOUSE" Do M=Mouse Click If M<>0 Then Exit Loop If Exist("football:leagues/") Then Dir$="football:leagues/" Else Proc DAT Cls 0 : Locate 0,0 : Print " DISK ACCESS" End Proc Procedure DAT1 Cls 0 : Get Palette 1 : Pen 1 : Writing 0,2 Locate 1,14 : Print "PLEASE INSERT DATA DISK & PRESS MOUSE" Do M=Mouse Click If M<>0 Then Exit Loop If Exist("football:scores/") Then Dir$="football:scores/" Else Proc DAT1 Cls 0 : Locate 0,0 : Print " DISK ACCESS" End Proc Procedure STAR Shared PRI Cls 0 Wind Save Wind Open 2,70,60,18,10,1 : Curs Off Title Top "----PRINTER----" Pen 0 : Print " ----CRASH-----" Print " ALERT" Print : Pen 0 : Print " PRINTER READY?" Ink 0 : Bar 80,110 To 116,131 Bar 170,110 To 207,131 Gr Writing 0 : Ink 7 : Text 86,125,"YES" : Text 183,125,"NO" Do X=X Mouse : Y=Y Mouse : M=Mouse Click If X>208 and X<=243 and Y>160 and Y<=180 and M=1 Then PRI=1 : Exit If X>299 and X<=335 and Y>160 and Y<=180 and M=1 Then PRI=2 : Exit Loop Wind Close End Proc Procedure TES L1=%11111111 L2=%10000001 L3=%10000001 L4=%10000001 L5=%10000001 L6=%10000001 L7=%10000001 L8=%11111111 Set Curs L1,L2,L3,L4,L5,L6,L7,L8 End Proc