10 REM Foot10 20 REM by Graham Kendall 30 : 40 GOSUB 130 :REM Init_1 Routine 50 WHILE NEWGAME% = 0 60 GOSUB 220 REM init_2 Routine 70 GOSUB 710 :REM Build League Table 80 GOSUB 880 :REM Control Routine 90 GOSUB 7000 :REM Ask Question Routine 100 WEND 110 END 120 : 130 REM Init_1 Routine 140 NOOFTEAMS% = 50 150 DIM QUES$(11), TEAMS$(NOOFTEAMS%), TABLE%(NOOFTEAMS%,13), HEADINGS1$(12), HEADINGS2$(6), HEADINGS3$(6), TEAMIND%(2), STATS(2,6) 160 FOR I% = 1 TO 11:READ QUES$(I%):NEXT I% 170 FOR I% = 1 TO 12:READ HEADINGS1$(I%):NEXT I% 180 FOR I% = 1 TO 6:READ HEADINGS2$(I%):NEXT I% 190 FOR I% = 1 TO 6:READ HEADINGS3$(I%):NEXT I% 200 RETURN 210 : 220 REM Init_2 Routine 230 GOSUB 270 :REM Points for a Win Routine 240 GOSUB 380 :REM Data Input Control Routine 250 RETURN 260 : 270 REM Points for a Win Routine 280 WINPTS$ = "" 290 WHILE INSTR(" 23",WINPTS$) < 2 300 CLS:GOSUB 6500 :REM Print Heading Routine 310 TEXT$ = "How many points for a win (2 or 3)":DOWN% = 10 320 GOSUB 5000 :REM Centre Text Routine 330 INPUT WINPTS$ 340 WEND 350 WINPTS% = VAL(WINPTS$) 360 RETURN 370 : 380 REM Data Input Control Routine 390 PREVTEAM$ = "" 400 TEAMCNT% = 1:ACROSS% = 5 410 WHILE (TEAMS$(TEAMCNT% -1) <> "end") AND (TEAMCNT% -1 <> NOOFTEAMS%) 420 CLS:DOWN% = 4:ACROSS% = 5:TEXT$ = "Last Team Entered was " + PREVTEAM$ 430 IF PREVTEAM$ <> "" THEN GOSUB 5500 :REM Print Text Routine 440 GOSUB 6500 :REM Print Heading Routine 450 TEXT$ = QUES$(1) 460 ACROSS% = 5:DOWN% = 6:GOSUB 5500 :REM Print Text Routine 470 INPUT TEAMS$(TEAMCNT%) 480 TEXT$ = LEFT$(QUES$(1) + STRING$(25," "),25) + " - " + TEAMS$(TEAMCNT%) 490 GOSUB 5500 :REM Print Text Routine 500 IF TEAMS$(TEAMCNT%) <> "end" THEN GOSUB 560 :REM League Table Data Input 510 PREVTEAM$ = TEAMS$(TEAMCNT%) 520 TEAMCNT% = TEAMCNT% +1 530 WEND 540 RETURN 550 : 560 REM League Table Data Input Routine 570 ACROSS% = 5:DOWN% = 6 580 FOR P% = 2 TO 11 590 DOWN% = DOWN% +1 600 TABLE%(TEAMCNT%,P%) = -1 610 WHILE TABLE%(TEAMCNT%,P%) <0 620 TEXT$ = QUES$(P%) 630 GOSUB 5500 :REM Print Text Routine 640 INPUT TABLE%(TEAMCNT%,P%) 650 WEND 660 TEXT$ = LEFT$(QUES$(P%) + STRING$(25," "),25) + " -" + STR$(TABLE%(TEAMCNT%,P%)) 670 GOSUB 5500 :REM Print Text Routine 680 NEXT P% 690 RETURN 700 : 710 REM Build League Table Routine 720 FOR P% = 1 TO (TEAMCNT% -2) 730 TABLE%(P%,1) = 0 740 FOR X% = 2 TO 4 750 TABLE%(P%,1) = TABLE%(P%,1) + TABLE%(P%,X%) 760 NEXT X% 770 FOR X% = 7 TO 9 780 TABLE%(P%,1) = TABLE%(P%,1) + TABLE%(P%,X%) 790 NEXT X% 800 TABLE%(P%,12) = 0 810 TABLE%(P%,12) = TABLE%(P%,12) + (TABLE%(P%,2) * WINPTS%) 820 TABLE%(P%,12) = TABLE%(P%,12) + TABLE%(P%,3) 830 TABLE%(P%,12) = TABLE%(P%,12) + (TABLE%(P%,7) * WINPTS%) 840 TABLE%(P%,12) = TABLE%(P%,12) + TABLE%(P%,8) 850 NEXT P% 860 RETURN 870 : 880 REM Control Routine 890 OPT$ = "" 900 WHILE (OPT$ <> "E") AND (OPT$ <> "e") 910 WHILE INSTR(" TtCcEe",OPT$) <2 920 CLS:GOSUB 6500 :REM Print Heading Routine 930 TEXT$ = "Would you like to" 940 ACROSS% = 10:DOWN% = 10:GOSUB 5500 :REM Print Text Routine 950 TEXT$ = "T = Show Table" 960 ACROSS% = 10:DOWN% = 12:GOSUB 5500 :REM Print Text Routine 970 TEXT$ = "C = Compare two teams" 980 ACROSS% = 10:DOWN% = 13:GOSUB 5500 :REM Print Text Routine 990 TEXT$ = "E = End" 1000 ACROSS% = 10:DOWN% = 14:GOSUB 5500 :REM Print Text Routine 1010 INPUT OPT$ 1020 WEND 1030 IF (OPT$ = "T" )OR (OPT$ = "t") THEN GOSUB 1090 :REM Display Table Routine 1040 IF (OPT$ = "C" )OR (OPT$ = "c") THEN GOSUB 1250 :REM Compare Teams Routine 1050 IF (OPT$ <> "E") AND (OPT$ <> "e") THEN OPT$ = "" 1060 WEND 1070 RETURN 1080 : 1090 REM Display Table Routine 1100 GOSUB 1780 :REM Print Table Headings Routine 1110 LINECNT% = 0:LINEDOWN% = 5 1120 WHILE TEAMS$(LINECNT% +1) <> "end" 1130 LINECNT% = LINECNT% +1:LINEDOWN% = LINEDOWN% +1 1140 TEXT$ = "":ACROSS% = 1:DOWN% = 5 1150 TEXT$ = LEFT$(TEAMS$(LINECNT%) + STRING$(15," "),15) 1160 FOR X% = 1 TO 12 1170 TEXT$ = TEXT$ + RIGHT$(STRING$(5," ") + STR$(TABLE%(LINECNT%,X%)),5) 1180 NEXT X% 1190 DOWN% = LINEDOWN%:GOSUB 5500 :REM Print Text Routine 1200 IF LINECNT% = INT(LINECNT%/14)*14 THEN LINEDOWN% = 5:GOSUB 1890 :GOSUB 1780 :REM More Follows Routine and Print Table Headings Routine 1210 WEND 1220 GOSUB 6000 :REM Press Space Routine 1230 RETURN 1240 : 1250 REM Compare Teams Routine 1260 FOR IND% = 1 TO 2:GOSUB 1520:NEXT IND% :REM Get Team Name Routine 1270 FOR IND% = 1 TO 2:GOSUB 1680:NEXT IND% :REM Home/Away Stats Routine 1280 CLS:GOSUB 6500 :REM Print Heading Routine 1290 FOR IND% = 1 TO 2 1300 IF IND% = 1 THEN DOWN% = 4 ELSE DOWN% = 13 1310 TEXT$ = "":ACROSS% = 1 1320 FOR X% = 1 TO 6 1330 TEXT$ = TEXT$ + LEFT$(HEADINGS2$(X%) + STRING$(13," "),13) 1340 NEXT X% 1350 DOWN% = DOWN% + 1:GOSUB 5500 :REM Print Text Routine 1360 TEXT$ = "" 1370 FOR X% = 1 TO 6 1380 TEXT$ = TEXT$ + LEFT$(HEADINGS3$(X%) + STRING$(13," "),13) 1390 NEXT X% 1400 DOWN% = DOWN% + 1:GOSUB 5500 :REM Print Text Routine 1410 TEXT$ = "" 1420 FOR X% = 1 TO 6 1430 TEXT$ = TEXT$ + LEFT$(MID$(STR$(STATS(IND%,X%)),2,6) + STRING$(13," "),13) 1440 NEXT X% 1450 DOWN% = DOWN% + 1:GOSUB 5500 :REM Print Text Routine 1460 TEXT$ = TEAMS$(TEAMIND%(1)) + " (Home)":DOWN% = 4:GOSUB 5000 :REM Centre Text Routine 1470 TEXT$ = TEAMS$(TEAMIND%(2)) + " (Away)":DOWN% = 13:GOSUB 5000 :REM Centre Text Routine 1480 NEXT IND% 1490 GOSUB 5550 :REM Press Space Routine 1500 RETURN 1510 : 1520 REM Get Team Name Routine 1530 CLS:GOSUB 6500 :REM Print Heading Routine 1540 TEAMIND%(IND%) = -1 1550 WHILE TEAMIND%(IND%) = -1 1560 IF IND% = 1 THEN A$ = "Home" ELSE A$ = "Away" 1570 TEXT$ = "Please enter the name of the " + A$ + " team" 1580 DOWN% = 10:GOSUB 5000 :REM Centre Text Routine 1590 INPUT A$ 1600 FOR X% = 1 TO TEAMCNT% 1610 IF TEAMS$(X%) = A$ THEN TEAMIND%(IND%) = X% : X% = TEAMCNT% 1620 IF TEAMS$(X%) = "end" THEN X% = TEAMCNT% 1630 NEXT X% 1640 IF TEAMIND%(IND%) = -1 THEN TEXT$ = "Team not found - Please reinput":DOWN% = 17:GOSUB 5000 :REM Centre Text Routine 1650 WEND 1660 RETURN 1670 : 1680 REM Home/Away Stats Routine 1690 IF IND% = 1 THEN X% = 2 ELSE X% = 7 1700 STATS(IND%,1) = TABLE%(TEAMIND%(IND%),X%) + TABLE%(TEAMIND%(IND%),X%+1) + TABLE%(TEAMIND%(IND%),X%+2) 1710 STATS(IND%,2) = INT(((TABLE%(TEAMIND%(IND%),X%) / STATS(IND%,1)) * 100)*100)/100 1720 STATS(IND%,3) = INT(((TABLE%(TEAMIND%(IND%),X% +1) / STATS(IND%,1)) * 100)*100)/100 1730 STATS(IND%,4) = INT(((TABLE%(TEAMIND%(IND%),X% +2) / STATS(IND%,1)) * 100)*100)/100 1740 STATS(IND%,5) = INT((TABLE%(TEAMIND%(IND%),X% +3) / STATS(IND%,1)) *100)/100 1750 STATS(IND%,6) = INT((TABLE%(TEAMIND%(IND%),X% +4) / STATS(IND%,1)) *100)/100 1760 RETURN 1770 : 1780 REM Print Table Headings Routine 1790 CLS:GOSUB 6500 :REM Print Heading Routine 1800 TEXT$ = "Home" + STRING$(21," ") + "Away" 1810 DOWN% = 4:ACROSS% = 30:GOSUB 5500 :REM Print Text Routine 1820 TEXT$ = "" 1830 FOR P% = 1 TO 12 1840 TEXT$ = TEXT$ + LEFT$(HEADINGS1$(P%) + STRING$(5," "),5) 1850 NEXT P% 1860 DOWN% = 5:ACROSS% = 19:GOSUB 5500 :REM Print Text Routine 1870 RETURN 1880 : 1890 REM More Follows Routine 1900 TEXT$ = "More Follows" 1910 DOWN% = 21:ACROSS% = 60:GOSUB 5500 :REM Print Text Routine 1920 GOSUB 6000 :REM Press Space Routine 1930 RETURN 1940 : 5000 REM Print Centred Text Routine 5010 PRINT CHR$(11) 5020 FOR I% = 1 TO DOWN% -1:PRINT CHR$(10);:NEXT 5030 ACROSS% = (79-LEN(TEXT$))/2 5040 PRINT TAB(ACROSS%);TEXT$ 5050 RETURN 5060 : 5500 REM Print Text on Screen Routine 5510 PRINT CHR$(11) 5520 FOR I% = 1 TO DOWN% -1:PRINT CHR$(10);:NEXT 5530 PRINT TAB(ACROSS%);TEXT$ 5540 RETURN 5550 : 6000 REM Press Space Routine 6010 TEXT$ = "Press Space to Continue" 6020 DOWN% = 22:GOSUB 5000 : REM Centre Text Routine 6030 WHILE INKEY$ <> " " 6040 WEND 6050 RETURN 6060 : 6500 REM Print Heading Routine 6510 TEXT$ = "Football Program 10" 6520 DOWN% = 2:GOSUB 5000 : REM Centre Text Routine 6530 RETURN 6540 : 7000 REM Ask Question Routine 7010 A% = 0 7020 WHILE A% = 0:CLS:GOSUB 6500 :REM Print Heading Routine 7030 TEXT$ = "Do you want to play again?" 7040 DOWN% = 10:GOSUB 5000 :REM Centre Text Routine 7050 A$ = "" 7060 WHILE INSTR(" YyNn",A$) <2 7070 A$ = INKEY$ 7080 WEND 7090 A% = INSTR("YyNn",A$) 7100 WEND 7110 IF A%=3 OR A%=4 THEN NEWGAME% = -1 7120 RETURN 7130 : 7140 DATA "Team Name" 7150 DATA "Games Won at Home" 7160 DATA "Games Drawn at Home" 7170 DATA "Games Lost at Home" 7180 DATA "Goals Scored at Home" 7190 DATA "Goals Conceded at Home" 7200 DATA "Games Won Away" 7210 DATA "Games Drawn Away" 7220 DATA "Games Lost Away" 7230 DATA "Goals Scored Away" 7240 DATA "Goals Conceded Away" 7250 : 7260 DATA "P","W","D","L","F","A","W","D","L","F","A","Pts" 7270 : 7280 DATA "Games","%","%","%","Average","Average" 7290 : 7300 DATA "Played","Won","Drawn","Lost","Goals For","Goals Against"