30 COLOR 12,0:CLS:LOCATE 1,20:PRINT STRING$(41,"█"):LOCATE 2,20:PRINT"██"TAB(35)"SPORTS MENU";:LOCATE ,59:PRINT"██":LOCATE 3,20:PRINT STRING$(41,"█"):FOR A=4 TO 13:LOCATE A,20:PRINT"██":LOCATE A,59:PRINT"██":NEXT:LOCATE 14,20:PRINT STRING$(41,"█")
40 LOCATE 5,26:COLOR 15:PRINT"A";:COLOR 3:PRINT") Enter A Team Roster.":LOCATE ,26:COLOR 15:PRINT"B";:COLOR 3:PRINT") Evaluate Both Teams.":LOCATE ,26:COLOR 15:PRINT"C";:COLOR 3:PRINT") Change Birth Date(s)
50 LOCATE ,26:COLOR 15:PRINT"D";:COLOR 3:PRINT") Save A Team To Diskette.":LOCATE ,26:COLOR 15:PRINT"E";:COLOR 3:PRINT") Load Team From Diskette.":LOCATE ,26:COLOR 15:PRINT"F";:COLOR 3:PRINT") Erase Team Off Diskette.
60 LOCATE ,26:COLOR 15:PRINT"G";:COLOR 3:PRINT") Select Data Drive"
70 LOCATE 13,26,1:PRINT"What is your option? <A-G>":LOCATE 13,54:XX=CSRLIN:YYY=POS(0):GOSUB 990
80 GOSUB 1670:IF Z<"A" OR Z>"G" THEN 80 ELSE ON ASC(Z)-64 GOTO 90,100,110,120,130,140,150
160 IF TEAM$(0)<>"" OR TEAM$(1)<>"" THEN ELSE LOCATE 20,25:COLOR 15,0:PRINT"You Must First Create Team":LOCATE 21,20:PRINT"Rosters Or Load Teams From Diskette":FOR A=1 TO 3000:NEXT:RETURN
170 IF TEAM$(0)<>"" AND TEAM$(1)<>"" THEN ELSE IF TEAM$(0)<>"" THEN T=0:GOTO 200 ELSE IF TEAM$(1)<>"" THEN T=1:GOTO 200
180 CLS:LOCATE ,20:PRINT"Which Roster Do You Wish To Update?":LOCATE ,20:PRINT TEAM$(0)" or "TEAM$(1)"? ";:GOSUB 1610
190 IF ZA=TEAM$(0) THEN T=0 ELSE IF ZA=TEAM$(1) THEN T=1 ELSE 180
210 LOCATE ,60:COLOR 15,0:PRINT"Correct? <Y/N>";:COLOR 3,0:GOSUB 450:IF Z1="1" THEN LOCATE ,60:PRINT SPC(19); ELSE LOCATE XX,30:PRINT"Birth Date :(m-d-y) ";:GOSUB 340:Z(A,1,T)=Z2
220 PRINT:NEXT:RETURN
230 CLS:LOCATE 4,20:PRINT"Enter Name Of Team ";
240 GOSUB 1610:IF ZA<>" " THEN 250 ELSE LOCATE 10,20:PRINT"You Must Enter A Team Name":FOR SLO=1 TO 3000:NEXT:RETURN 30
250 IF TEAM$(0)<>"" AND TEAM$(1)="" THEN TEAM$(1)=ZA:T=1:RETURN
260 IF TEAM$(1)<>"" AND TEAM$(0)="" THEN TEAM$(0)=ZA:T=0:RETURN
270 LOCATE 6,20:PRINT"Are They The Home or Visiting Team? <H/V>";:GOSUB 1300:TEAM$(T)=ZA:RETURN
280 IF TEAM$(0)<>"" OR TEAM$(1)<>"" THEN ELSE LOCATE 20,25:COLOR 15,0:PRINT"You Must First Create Team":LOCATE 21,20:PRINT"Rosters Or Load Teams From Diskette":FOR A=1 TO 3000:NEXT:RETURN 30
290 CLS:LOCATE 8,15:PRINT"What Is Date Of Game :(m-d-y)? ";:GOSUB 340:GAME$=Z2:CLS:RETURN
300 A=0:Z1="":CLS:PRINT"Team "TEAM$(T)
310 XX=CSRLIN:YYY=POS(0):GOSUB 990
320 LOCATE 2:COLOR 3,0
330 WHILE A<22:LOCATE ,1:PRINT"Position: "Z(A,0,T);:LOCATE ,30,1:PRINT"Birth Date:? (m-d-y) ";:GOSUB 340:Z(A,1,T)=Z2:A=A+1:PRINT:WEND:RETURN
360 GOSUB 1670:IF Z=CHR$(8) THEN 350 ELSE IF Z="." OR Z=" " OR Z="/" OR Z="-" THEN ELSE IF (Z<"0" OR Z>"9") OR LEN(Z1)>1 THEN 360 ELSE Z1=Z1+Z:LOCATE ,53:PRINT Z1;:GOTO 360
370 IF VAL(Z1)<1 OR VAL(Z1)>12 THEN 350 ELSE IF LEN(Z1)<>2 THEN Z1=" "+Z1
380 Z2=Z1+"/":Z1="":LOCATE ,53:PRINT Z2;
390 GOSUB 1670:IF Z=CHR$(8) THEN 350 ELSE IF Z="." OR Z=" " OR Z="/" OR Z="-" THEN ELSE IF (Z<"0" OR Z>"9") OR LEN(Z1)>1 THEN 390 ELSE Z1=Z1+Z:LOCATE ,POS(0):PRINT Z;:GOTO 390
400 IF VAL(Z1)<1 OR VAL(Z1)>31 THEN 350 ELSE IF LEN(Z1)<>2 THEN Z1=" "+Z1
410 Z2=Z2+Z1+"/":Z1="":LOCATE ,53:PRINT Z2;
420 GOSUB 1670:IF Z=CHR$(8) THEN 350 ELSE IF Z<"0" OR Z>"9" THEN 420 ELSE Z1=Z:LOCATE ,POS(0):PRINT Z;
430 GOSUB 1670:IF Z=CHR$(8) THEN 350 ELSE IF Z<"0" OR Z>"9" THEN 430 ELSE Z1=Z1+Z:IF VAL(Z1)<1 OR VAL(Z1)>99 THEN 350
540 CLS:PRINT STRING$(80,"█"):FOR A=2 TO 22:LOCATE A,1:PRINT"█":LOCATE A,80:PRINT"█":NEXT:LOCATE 23,1:PRINT STRING$(80,"█");
550 COLOR 15,0:LOCATE 3,15:PRINT"B I O R H Y T H M S P O R T S P R E D I C T I N G":LOCATE 6,23:PRINT"Would You Like Instructions? <Y/N>";:COLOR 3,0:GOSUB 450:IF Z1<>"1" THEN RETURN
560 LOCATE 4,9:PRINT"This program combines the number crunching ability of your PC, the":LOCATE ,6:PRINT"biorhythm theory, and an assortment of other weights and measures, to
570 LOCATE ,6:PRINT"predict which of two teams should be dominant in any particular game":LOCATE ,6:PRINT"on any given Sunday (for more info about the Biorhythm Theory in gen-
580 LOCATE ,6:PRINT"eral, please refer to your FriendlyWare manual on page number 31).":LOCATE ,13:PRINT"Predictions are generated by first calculating each individual
590 LOCATE ,6:PRINT"player's biorhythm chart, and then mixing those results for each":LOCATE ,6:PRINT"unit (offense and defense) to come up with a team average. The aver-
600 LOCATE ,6:PRINT"age also includes variables for key positions, skill positions, etc.":LOCATE ,9:PRINT"A team's offense is compared to the other team's defense and vice-
610 LOCATE ,6:PRINT"versa to produce the overall prediction. The results should tell if":LOCATE ,6:PRINT"one team is more likely to perform close to its potential on game day.
620 LOCATE ,8:PRINT"Remember though, that a weak team playing at its high may still":LOCATE ,6:PRINT"not be as strong as a great team that is a little down. That is why
630 LOCATE ,6:PRINT"YOUR OWN evaluation and analysis is necessary to use this program.":LOCATE ,6:PRINT"In other words, we are providing you with a `TOOL', not a `LABORER'.
640 LOCATE ,8:PRINT"Once you have entered the players birth dates for a particular team,":LOCATE ,6:PRINT"it is possible to save this information onto another diskette for
650 LOCATE ,6:PRINT"future use. You will also have the ability to update your information.":LOCATE 25,28:COLOR 15:PRINT"Strike Any Key To Continue";:COLOR 3,0:GOSUB 1670:RETURN
660 A=0:GOSUB 780:FFF=0
670 C=5:FOR B=0 TO 21:LOCATE C,2:COLOR 15,0:PRINT USING "\ \";Z(B,0,A);:LOCATE ,17:PRINT Z(B,1,A);:LOCATE ,27:PRINT ZZ(D(0,VAL(Z(B,2,A)),1));:LOCATE ,34:PRINT USING "#.#";VAL(Z(B,3,A));:LOCATE ,40:PRINT ZZ(D(1,VAL(Z(B,4,A)),1));
680 LOCATE ,47:PRINT USING "#.#";VAL(Z(B,5,A));:LOCATE ,53:PRINT ZZ(D(2,VAL(Z(B,6,A)),1));:LOCATE ,60:PRINT USING "#.#";VAL(Z(B,7,A));:LOCATE ,66:PRINT USING "##.#";VAL(Z(B,9,A));:LOCATE ,74:PRINT USING "##.##";VAL(Z(B,8,A));:COLOR 2,0
690 C=C+1:IF B=10 THEN IF FFF THEN COLOR 6,0:LOCATE 18,44 ELSE LOCATE 18,5 ELSE 710
700 PRINT USING "\ \";TEAM$(A);:PRINT" Offensive Average Is ";:PRINT USING "###.##";OF(A);:A=TURN(A):GOSUB 770
710 NEXT B
720 IF FFF THEN COLOR 6,0:LOCATE 19,44 ELSE LOCATE 19,5
730 PRINT USING "\ \";TEAM$(A);:PRINT" Defensive Average Is ";:PRINT USING "###.##";DF(A);
740 GOSUB 770:FFF=1:IF A THEN 670
750 LOCATE 21,26:PRINT USING "\ \";TEAM$(0);:PRINT" Team Evaluation Is";:PRINT USING " ####.##";TEAMAVG(0)*100
760 LOCATE 22,26:PRINT USING "\ \";TEAM$(1);:PRINT" Team Evaluation Is";:PRINT USING " ####.##";TEAMAVG(1)*100
770 COLOR 15,0:C=5:LOCATE 25,29,0:PRINT"Strike Any Key To Continue";:GOSUB 1670:LOCATE 25,20:PRINT SPC(40);:LOCATE 24,1:PRINT SPC(60);:RETURN
780 COLOR 4,0:CLS:PRINT"╔══════════════╦════════╦════════════╦════════════╦════════════╦═══════════════╗";:PRINT"║ PLAYER ║ BIRTH ║ PHYSICAL ║ EMOTIONAL ║INTELLECTUAL║ TOTALS ║";
790 PRINT"║ POSITION ║ DATE ║ CYCLE PTS.║ CYCLE PTS.║ CYCLE PTS.║ PTS. AVG. ║";:PRINT"╠══════════════╬════════╬══════╤═════╬══════╤═════╬══════╤═════╬═══════╤═══════╣";
800 FOR E=4 TO 14:PRINT"║ ║ ║ │ ║ │ ║ │ ║ │ ║";:NEXT:PRINT"╚══════════════╩════════╩══════╧═════╩══════╧═════╩══════╧═════╩═══════╧═══════╝";:COLOR 3,0:RETURN
910 FOR B=0 TO 1:FOR A=1 TO 23:READ D(0,A,B):NEXT:FOR A=1 TO 28:READ D(1,A,B):NEXT:FOR A=1 TO 33:READ D(2,A,B):NEXT:NEXT:FOR A=0 TO 21:READ VALUE(A):NEXT:RESTORE 950:ERASE Z:DIM Z(22,10,1):FOR A=0 TO 21:READ Z(A,0,0):Z(A,0,1)=Z(A,0,0):NEXT
930 DATA 2,3,4.5,6,7.5,7.5,7.5,6,4.5,3,2,0,1,2,3,4,5,5,5,4,3,2,0,2,2,3,4.5,4.5,6,7.5,7.5,7.5,6,4.5,4.5,3,2,0,1,2,3,3,4,5,5,5,4,3,2,1,0,2,2,3,3,4.5,4.5,6,7.5,7.5,7.5,6,4.5,4.5,3,3,2,0,1,2,2,3,3,4,5,5,5,4,3,3,4,4,1,0
940 DATA 1,2,2,2,3,3,3,2,2,2,1,0,1,2,2,2,3,3,3,2,2,2,0,1,1,2,2,2,2,3,3,3,2,2,2,2,1,0,1,2,2,2,2,3,3,3,2,2,2,1,0,1,1,2,2,2,2,2,3,3,3,2,2,2,2,2,1,0,1,2,2,2,2,2,3,3,3,2,2,2,2,2,1,0,5,3,2,2,2,2,1,1,1,1,1,4,2,2,2,2,2,1,1,1,1,3
950 DATA QUARTERBACK,HALFBACK,FULLBACK,WIDE RECEIVER,TIGHT END,SPLIT END,CENTER,R.TACKLE,R.GUARD,L.TACKLE,L.GUARD,M.LINEBACKER,R.LINEBACKER,L.LINEBACKER,LINEBACK/LINE,R.CORNERBACK,L.CORNERBACK,DEF.LINEMAN,DEF.LINEMAN,DEF.LINEMAN,STRONG SAFETY,FREE SAFETY
1070 IF EOF(1)=0 THEN INPUT#1,TEAMNAME$:IF TEAMNAME$=Z OR K9 THEN 1080 ELSE 1070 ELSE CLOSE:OPEN XT$+"NAME.FLE" FOR APPEND AS #1:WRITE#1,Z
1080 IF K9 THEN 1090 ELSE CLOSE:OPEN"O",#1,XT$+Z:FOR A=0 TO 11 STEP 11:WRITE#1,Z(A,1,B),Z(A+1,1,B),Z(A+2,1,B),Z(A+3,1,B),Z(A+4,1,B),Z(A+5,1,B), Z(A+6,1,B),Z(A+7,1,B),Z(A+8,1,B),Z(A+9,1,B),Z(A+10,1,B):NEXT
1090 CLOSE:RETURN
1100 CLS:GOSUB 1310:K9=0:IF K9 THEN 1090 ELSE OPEN"I",#1,XT$+"NAME.FLE"
1110 IF EOF(1) THEN ELSE INPUT#1,TEAMNAME$:LOCATE ,POS(0)+12:PRINT LEFT$(TEAMNAME$,8);:GOTO 1110
1120 LOCATE 20,20:PRINT"Which Team Do You Wish To Load?";:K9=0:GOSUB 1610:Z=ZA:IF K9 THEN 1090 ELSE CLOSE:OPEN"I",#1,XT$+"NAME.FLE"
1130 IF EOF(1) THEN CLOSE ELSE INPUT#1,TEAMNAME$:IF Z=LEFT$(TEAMNAME$,8) THEN 1150 ELSE 1130
1140 LOCATE 20,1:PRINT SPC(79):LOCATE 20,20:PRINT"Invalid Team Name, Please Try Again.":FOR A=1 TO 2000:NEXT:LOCATE 20,20:PRINT SPC(79):GOTO 1120
1150 LOCATE 20,1:PRINT SPC(78):LOCATE 20,20:K9=0
1160 IF TEAM$(0)<>"" AND TEAM$(1)="" THEN TEAM$(1)=LEFT$(TEAMNAME$,8):T=1:GOTO 1190
1170 IF TEAM$(1)<>"" AND TEAM$(0)="" THEN TEAM$(0)=LEFT$(TEAMNAME$,8):T=0:GOTO 1190
1180 PRINT"Home Team or Visiting Team? <H/V>":K9=0:GOSUB 1300:TEAM$(T)=LEFT$(TEAMNAME$,8)
1190 IF K9 THEN 1090 ELSE CLOSE:OPEN"I",#1,XT$+TEAMNAME$
1200 FOR A=0 TO 11 STEP 11:INPUT#1,Z(A,1,T),Z(A+1,1,T),Z(A+2,1,T),Z(A+3,1,T),Z(A+4,1,T),Z(A+5,1,T),Z(A+6,1,T),Z(A+7,1,T),Z(A+8,1,T),Z(A+9,1,T),Z(A+10,1,T):NEXT:CLOSE:RETURN
1480 LOCATE 21,22:PRINT"Insert Diskette With Team File And":GOTO 1560
1490 LOCATE 21,23:PRINT"Insert Diskette With NAME.FLE And":GOTO 1560
1500 LOCATE 21,34:PRINT"Diskette Is Full.":GOTO 1550
1510 LOCATE 21,27:PRINT"Diskette Has Too Many Files.":GOTO 1550
1520 LOCATE 21,27:PRINT"Diskette Is Write Protected.":GOTO 1550
1530 LOCATE 21,20:PRINT"Disk Cover Is Open. Close Cover And":GOTO 1560
1540 LOCATE 21,29:PRINT"Diskette Read Error."
1550 LOCATE 22,27:PRINT"Insert New Diskette And"
1560 LOCATE 23,26:PRINT"Strike Any Key To Continue
1570 GOSUB 1670
1580 FOR AC=21 TO 23:LOCATE AC,1:PRINT SPC(79);:NEXT
1590 IF ERL=1080 THEN RESUME 1090
1600 LOCATE XX,YYY,1:COLOR 3,0:RESUME
1610 ZH="":ZI="":ZA=" ":LOCATE ,POS(0)+1
1620 GOSUB 1670:IF K9 THEN RETURN ELSE ZI=Z:IF ZI=CHR$(13) THEN ZA=SPACE$(8):LSET ZA=ZH:RETURN
1630 IF ZI=CHR$(8) THEN IF LEN(ZH)<1 THEN 1620 ELSE PRINT CHR$(29)" "CHR$(29);:ZH=LEFT$(ZH,LEN(ZH)-1):GOTO 1620
1640 IF (ZI<"0" OR ZI>"9") AND (ZI<"A" OR ZI>"Z") THEN 1620
1650 IF LEN(ZH)>7 THEN PRINT CHR$(7) ELSE ZH=ZH+ZI:PRINT ZI;
1660 GOTO 1620
1670 IF INKEY$<>"" THEN 1670
1680 DEF SEG=&H40:POKE &H17,(PEEK(&H17) OR 96):Z=INKEY$:IF Z="" THEN 1680 ELSE RETURN
1690 COLOR 7,0:CLS:KEY(10) OFF:ON ERROR GOTO 1700:CLOSE#3:OPEN"fw.bat" FOR INPUT AS #3:CLOSE#3:HK$="YES":GOTO 1710
1700 CLOSE#3:HK$="":RESUME 1710
1710 CLS:COLOR 15:LOCATE 2,31:PRINT"SELECT DATA DRIVE":COLOR 12:LOCATE 4,28:PRINT"Current Data Drive Is "XT$:LOCATE 6,16:PRINT"Sports Predicting Is Configured For ";:IF HK$="YES" THEN PRINT"Hard Disk" ELSE PRINT"Floppy Disk"
1720 COLOR 2:LOCATE 8,28:PRINT"These Are Your Options:":LOCATE 10,27:COLOR 0,7:PRINT" A ":LOCATE 12,27:PRINT" B ":LOCATE 14,27:PRINT" C ":LOCATE 16,27:PRINT" D ":LOCATE 18,27:PRINT" E ":LOCATE 20,27:PRINT"F10"
1730 LOCATE 10,33:COLOR 6,0:PRINT"Set Data Drive To A:":LOCATE 12,33:PRINT"Set Data Drive To B:":LOCATE 14,33:PRINT"Set Data Drive To C:":LOCATE 16,33:PRINT"Set Data Drive To D:":LOCATE 18,33:PRINT"Set For ";
1740 IF HK$<>"YES" THEN PRINT"Hard Disk" ELSE PRINT"Floppy Disk
1750 LOCATE 20,33:PRINT"Leave This Program":COLOR 15:LOCATE 23,26:PRINT"Strike Space Bar To Continue"
1760 GOSUB 1820:IF LEN(Z)>1 AND RIGHT$(Z,1)="D" THEN 1850 ELSE IF Z=" " THEN ELSE IF Z<"A" OR Z>"E" THEN 1760
1770 IF Z="E" THEN IF HK$="YES" THEN HK$="" ELSE HK$="YES" ELSE IF Z=" " THEN ON ERROR GOTO 1840 ELSE XT$=Z+":":ON ERROR GOTO 1700
1780 IF HK$="" THEN CLOSE#3:OPEN XT$+"LOGO.COM" FOR INPUT AS #3:CLOSE#3:GOSUB 1790:GOTO 1710 ELSE IF Z=" " THEN 1830 ELSE 1710
1790 LOCATE 22,20:COLOR 31:PRINT"You may not use this diskette for data storage!"
1800 LOCATE 23,25:COLOR 7:PRINT"Insert a data diskette in drive "XT$
1810 FOR BC=1 TO 2800:NEXT:RETURN
1820 Z=INKEY$:IF Z="" THEN 1820 ELSE IF Z<"a" OR Z>"z" THEN RETURN ELSE Z=CHR$(ASC(Z)-32):RETURN
1830 CLOSE:OPEN XT$+"NAME.FLE" FOR APPEND AS #1:CLOSE:KEY(10) ON:ON ERROR GOTO 1340:RETURN
1840 IF ERR=61 OR ERR=67 THEN LOCATE 23,1:PRINT SPC(79);:COLOR 31:LOCATE 23,32:PRINT"Diskette is full":COLOR 7:RESUME 3000