30 COLOR 3,0:CLS:LOCATE 1,1:PRINT STRING$(80,219):FOR A=2 TO 22:LOCATE A,1:PRINT"█":LOCATE A,80:PRINT"█":NEXT:LOCATE 23,1:PRINT STRING$(80,219);:COLOR 15,0:LOCATE 2,30:PRINT"H E A D C O A C H
40 LOCATE 5,22,O:PRINT"Would You Like Instructions ? <Y/N>":COLOR 3,0
50 GOSUB 1790:IF RP$="N" THEN 130 ELSE IF RP$<>"Y" THEN 50
60 LOCATE 3,26:PRINT"Welcome to the FRIENDLY BOWL":LOCATE 4,26:PRINT STRING$(28,"-"):LOCATE 5,13:PRINT"You are about to match wits against the I.B.M. Personal":LOCATE 6,11:PRINT"Computer in a game of Football. You will be playing N F L
70 LOCATE 7,11:PRINT"standard rules for the most part. One of the major changes":LOCATE 8,11:PRINT"in the rules we will play by is that a quarter is composed":LOCATE 9,11:PRINT"of 30 plays as opposed to 15 minutes. The Two Minute
80 LOCATE 10,11:PRINT"Warning will be given after 24 plays.":LOCATE 11,13:PRINT"At the beginning of the game,you will have the option of":LOCATE 12,11:PRINT"kicking or receiving. If you opt to receive, you will be
90 LOCATE 13,11:PRINT"given the ball on the 20 yard line. During the 1st and 3rd":LOCATE 14,11:PRINT"quarters, you will be moving from left to right and in the":LOCATE 15,11:PRINT"2nd and 4th quarters, just the opposite. You may choose
100 LOCATE 16,11:PRINT"1 of 7 different offensive plays. You may punt or try to":LOCATE 17,11:PRINT"kick a field goal on any down, but take some advice and":LOCATE 18,11:PRINT"do not try from more than 45 yards out. If you fail to
110 LOCATE 19,11:PRINT"get a first down, I will take possession of the ball. You":LOCATE 20,11:PRINT"may now select any 1 of 5 defensives to try and keep me":LOCATE 21,11:PRINT"from scoring.
120 COLOR 15,0:LOCATE 25,28:PRINT"Strike Any Key To Continue";:COLOR 3,0:GOSUB 1790
140 COLOR 15,0:FOR J=26 TO 55:LOCATE 1,J:PRINT"█":NEXT:FOR I=1 TO 8:LOCATE I,54:PRINT"██":NEXT:FOR J=55 TO 26 STEP-1:LOCATE 8,J:PRINT"█":NEXT:FOR I=8 TO 1 STEP-1:LOCATE I,26:PRINT"██":NEXT:COLOR 3,0
160 FOR I=13 TO 22:FOR J=65 TO 69:LOCATE I,J:PRINT"░":NEXT J,I:FOR J=69 TO 11 STEP-1:LOCATE 23,J:PRINT"█":NEXT:FOR I=22 TO 13 STEP-1:FOR J=11 TO 15:LOCATE I,J:PRINT"░":NEXT J,I:COLOR 7,0
170 GOSUB 1770:FOR I=13 TO 22:FOR J=20 TO 60 STEP 5:LOCATE I,J:PRINT"▌":NEXT J,I:COLOR 7,0:LOCATE 11,16:PRINT"0 10 20 30 40 50 40 30 20 10 0":COLOR 7,0:FOR I=1 TO 10:FOR J=1 TO 5:READ YRD(I,J):NEXT J,I
180 COLOR 15,0:LOCATE 3,1:PRINT"Would You Like To":LOCATE 4,1:PRINT"Kick Or Receive? <K/R>":COLOR 3,0
190 GOSUB 1790:IF RP$<>"R" AND RP$<>"K" THEN 190
200 HOLD$=RP$
210 FOR AA=500 TO 150 STEP -5:SOUND AA,1:NEXT:SOUND AA,0:IF HOLD$="K" THEN OPS=55:NPS=55 ELSE OPS=25:NPS=25:GOTO 540
220 LOCATE 3,60:PRINT" It's My Ball ":LOCATE 4,60:PRINT"On The":GOSUB 1450:COLOR 15,0:LOCATE 4,66:PRINT YLN:COLOR 3,0:LOCATE 4,70:PRINT"Yard Line "
230 COLOR 15,0:LOCATE 6,60:PRINT"Select A Defensive ":LOCATE 7,60:PRINT"Formation By Entering":LOCATE 8,60:PRINT"A Number From 1 To 5":COLOR 3,0:COLOR 15,0:LOCATE 2,31:PRINT"«» ":GOSUB 870:DN=1:YDS=10
240 COLOR 14,0:IF QTR=1 OR QTR=3 THEN LOCATE 17,NPS:PRINT M$
290 IF OPS=20 OR OPS=25 OR OPS=30 OR OPS=35 OR OPS=40 OR OPS=45 OR OPS=50 OR OPS=55 OR OPS=60 THEN LOCATE 17,OPS:PRINT"▌" ELSE LOCATE 17,OPS:PRINT" "
300 COLOR 3,0:PLS=PLS+1
310 IF PLS=25 AND (QTR=2 OR QTR=4) THEN GOSUB 1780
320 IF PLS>30 AND QTR=4 THEN 1570
330 IF PLS>30 AND QTR=2 THEN GOSUB 1530:GOTO 210
340 IF PLS>30 THEN GOSUB 1560:GOTO 240
350 IF DN>3 AND NPS<35 AND (QTR=1 OR QTR=3) THEN GOSUB 1350:GOTO 540
360 IF DN>3 AND NPS>45 AND (QTR=2 OR QTR=4) THEN GOSUB 1350:GOTO 540
370 IF DN>3 THEN GOSUB 1190:GOTO 540
380 IF YRD(RW,POSI)=0 OR YRD(RW,POSI)=98 OR YRD(RW,POSI)<10 THEN DELAY=20:ELSE DELAY=40
390 COLOR 15,0:FOR HOLD=1 TO DELAY:SOUND 50,.5:LOCATE 10,33:PRINT"PLAY IN PROGRESS":LOCATE 10,33:PRINT" ":SOUND 50,0:NEXT HOLD:COLOR 3,0
400 IF YRD(RW,POSI)=99 THEN GOSUB 950:GOTO 540
410 IF YRD(RW,POSI)=98 THEN GOSUB 1080:GOTO 540
420 IF YRD(RW,POSI)=100 THEN GOSUB 1120:GOTO 540
430 YDS=YDS-YRD(RW,POSI)
440 IF YDS=< 0 THEN DN=1:YDS=10 ELSE DN=DN+1
450 IF (QTR=1 OR QTR=3) THEN NPS=OPS-(YRD(RW,POSI)/2) ELSE NPS=OPS+(YRD(RW,POSI)/2)
460 IF NPS<16 AND (QTR=1 OR QTR=3) THEN GOSUB 1120:GOTO 540
470 IF NPS<16 AND (QTR=2 OR QTR=4) THEN GOSUB 1100:GOTO 540
480 IF NPS>64 AND (QTR=2 OR QTR=4) THEN GOSUB 1120:GOTO 540
490 IF NPS>64 AND (QTR=1 OR QTR=3) THEN GOSUB 1100:GOTO 540
500 OPS=NPS
510 IF QTR=1 OR QTR=3 THEN C$=M$
520 IF QTR=2 OR QTR=4 THEN C$=Y$
530 ON (SGN(YRD(RW,POSI))+2) GOSUB 1510,1470,1490:GOTO 240
540 GOSUB 1450:LOCATE 3,60:PRINT" It's Your Ball ":LOCATE 4,60:PRINT"On The":COLOR 15,0:LOCATE 4,66:PRINT YLN:COLOR 3,0:LOCATE 4,70:PRINT"Yard Line "
550 COLOR 15,0:LOCATE 6,60:PRINT"Select An Offensive":LOCATE 7,60:PRINT"Play By Entering A ":LOCATE 8,60:PRINT"Number From 1 To 7 ":COLOR 3,0:COLOR 15,0:LOCATE 2,31:PRINT" «»":GOSUB 840:DN=1:YDS=10
560 COLOR 14,0:IF QTR=1 OR QTR=3 THEN LOCATE 17,NPS:PRINT Y$
870 LOCATE 1,2:PRINT"DEFENSIVE FORMATIONS":PRINT" SELECTION(1-5) ":PRINT" --------------------":PRINT" 1 = Goal Line ":PRINT" 2 = Short Run ":PRINT" 3 = Long Run ":PRINT" 4 = Short Pass "
880 PRINT" 5 = Long Pass ":PRINT" ":PRINT" ":RETURN
890 LOCATE 10,30:PRINT"!!!! I Intercepted !!!!":DN=1:YDS=10
900 IF QTR=1 OR QTR=3 THEN NPS=OPS+5:C$=M$
910 IF QTR=2 OR QTR=4 THEN NPS=OPS-5:C$=Y$
920 IF (QTR=1 OR QTR=3) AND NPS>64 THEN NPS=55
930 IF (QTR=2 OR QTR=4) AND NPS<16 THEN NPS=25
940 OPS=NPS:RETURN
950 LOCATE 10,30:PRINT"!!! You Intercepted !!!":DN=1:YDS=10:IF QTR=1 OR QTR=3 THEN NPS=OPS-5:C$=Y$
960 IF QTR=2 OR QTR=4 THEN NPS=OPS+5:C$=M$
970 IF (QTR=1 OR QTR=3) AND NPS<16 THEN NPS=25
980 IF (QTR=2 OR QTR=4) AND NPS>64 THEN NPS=55
990 OPS=NPS:RETURN
1000 LOCATE 10,27:PRINT"!!!! Sorry, You Fumbled !!!!":BEEP:DN=1:YDS=10:IF QTR=1 OR QTR=3 THEN C$=M$ ELSE C$=Y$
1060 IF QTR=1 OR QTR=3 THEN NPS=55:OPS=55:C$=M$ ELSE NPS=25:OPS=25:C$=Y$
1070 VSR=VSR+7:LOCATE 4,47:PRINT VSR:RETURN
1080 LOCATE 10,28:PRINT"!!!! Oops , I Fumbled !!!!":BEEP:DN=1:YDS=10:IF QTR=1 OR QTR=3 THEN C$=Y$ ELSE C$=M$
1090 RETURN
1100 LOCATE 10,30:PRINT"!!!! Safety !!!!":DN=1:YDS=10:IF QTR=1 OR QTR=3 THEN NPS=25:OPS=25:C$=Y$ ELSE NPS=55:OPS=55:C$=M$
1110 VSR=VSR+2:LOCATE 4,47:PRINT VSR:RETURN
1120 LOCATE 10,30:PRINT"!!!! TOUCHDOWN !!!!":DN=1:YDS=10:IF QTR=1 OR QTR=3 THEN NPS=25:OPS=25:C$=Y$ ELSE NPS=55:OPS=55:C$=M$
1130 HSR=HSR+7:LOCATE 4,30:PRINT HSR:RETURN
1140 FOR AA=500 TO 150 STEP -5:SOUND AA,1:NEXT:SOUND AA,0:LOCATE 10,30:PRINT"!!!! Good Punt !!!!":DN=1:YDS=10
1150 IF QTR=1 OR QTR=3 THEN NPS=OPS+20:C$=M$ ELSE NPS=OPS-20:C$=Y$
1160 IF (QTR=1 OR QTR=3) AND NPS>64 THEN NPS=55
1170 IF (QTR=2 OR QTR=4) AND NPS<16 THEN NPS=25
1180 OPS=NPS:RETURN
1190 FOR AA=500 TO 150 STEP -5:SOUND AA,1:NEXT:SOUND AA,0
1200 LOCATE 10,30:PRINT"!!!! Good Punt !!!!":DN=1:YDS=10
1210 IF QTR=1 OR QTR=3 THEN NPS=OPS-20:C$=Y$ ELSE NPS=OPS+20:C$=M$
1220 IF (QTR=1 OR QTR=3) AND NPS<16 THEN NPS=25
1230 IF (QTR=2 OR QTR=4) AND NPS>64 THEN NPS=55
1240 OPS=NPS
1250 RETURN
1260 IF QTR=2 OR QTR=4 GOTO 1300
1270 IF (NPS>25 AND RW<9) OR (NPS>30 AND RW<7) OR (NPS>35 AND RW<5) OR (NPS>38 AND RW<4) THEN LOCATE 10,26:PRINT"!!!! Field Goal Was Good !!!!":DN=1:YDS=10:VSR=VSR+3:C$=M$:GOTO 1330
1280 LOCATE 10,26:PRINT"!!!! Field Goal Try Wide !!!!":IF NPS>55 THEN NPS=55:OPS=55
1290 RETURN
1300 IF (NPS<25 AND RW<9) OR (NPS<30 AND RW<7) OR (NPS>35 AND RW<5) OR (NPS<38 AND RW<4) THEN LOCATE 10,26:PRINT"!!!! Field Goal Was Good !!!!":DN=1:YDS=10:VSR=VSR+3:C$=Y$:GOTO 1330
1310 LOCATE 10,26: PRINT"!!!! Field Goal Try Wide !!!!":IF NPS<25 THEN NPS=25:OPS=25
1320 RETURN
1330 GOSUB 1710:LOCATE 4,47:PRINT VSR:IF QTR=1 OR QTR=3 THEN NPS=55:OPS=55 ELSE NPS=25:OPS=25
1340 RETURN
1350 IF QTR=2 OR QTR=4 THEN 1390
1360 IF (NPS<25 AND RW<9) OR (NPS<30 AND RW<7) OR (NPS<35 AND RW<5) THEN LOCATE 10,26:PRINT"!!!! Field Goal Was Good !!!!":DN=1:YDS=10:HSR=HSR+3:C$=Y$:GOTO 1420
1370 LOCATE 10,26:PRINT"!!!! Field Goal Try Wide !!!!":IF NPS<25 THEN NPS=25:OPS=25
1380 RETURN
1390 IF (NPS>55 AND RW<9) OR (NPS>50 AND RW<7) OR (NPS<45 AND RW<5) THEN LOCATE 10,26:PRINT"!!!! Field Goal Was Good !!!!":DN=1:YDS=10:HSR=HSR+3:C$=M$:GOTO 1420
1400 LOCATE 10,26:PRINT"!!!! Field Goal Try Wide !!!!":IF NPS>55 THEN NPS=55:OPS=55
1410 RETURN
1420 LOCATE 4,30:PRINT HSR
1430 IF QTR=1 OR QTR=3 THEN NPS=25:OPS=25 ELSE NPS=55:OPS=55
1440 RETURN
1450 YLN=(NPS-15)*2:IF YLN>50 THEN YLN=100-YLN
1460 RETURN
1470 LOCATE 10,32:IF POSI=1 OR POSI=2 THEN PRINT"No Gain On The Play" ELSE PRINT" Incomplete Pass"
1480 RETURN
1490 LOCATE 10,27:IF POSI=1 OR POSI=2 THEN PRINT" Gain Of" YRD(RW,POSI) "On The Play" ELSE PRINT"Pass Completed For" YRD(RW,POSI) "Yards"
1500 RETURN
1510 LOCATE 10,27:IF POSI=1 OR POSI=2 THEN PRINT" Loss Of" ABS(YRD(RW,POSI)) "On The Play" ELSE PRINT"Quarterback Sacked:Loss Of" ABS(YRD(RW,POSI))
1520 RETURN
1530 QTR=QTR+1:PLS=1:LOCATE 9,32:PRINT" ":LOCATE 3,60:PRINT"End Of The Half ":LOCATE 4,60:PRINT SPC(19):LOCATE 4,39:PRINT QTR:GOSUB 1720
1540 IF HOLD$="K" THEN HOLD$="R" ELSE HOLD$="K"
1550 RETURN
1560 QTR=QTR+1:PLS=0:LOCATE 3,60:PRINT"End Of The Quarter":LOCATE 4,39:PRINT QTR:GOSUB 1750:NPS=80-OPS:OPS=NPS:RETURN
1570 CLS:LOCATE 4,28:PRINT"Time Is Up; The Game Is Over"
1580 IF HSR>VSR THEN LOCATE 7,28:PRINT"You Lost By A Score Of" HSR "To" VSR:LOCATE 8,31:PRINT"Better Luck Next Time"
1590 IF VSR>HSR THEN LOCATE 7,28:PRINT"You Won By A Score Of" VSR "To" HSR:LOCATE 8,31:PRINT"Congratulations !!!!"
1600 COLOR 15,0:LOCATE 10,25:PRINT"Would You Like To Play Again? <Y/N>":COLOR 3,0
1610 GOSUB 1790:IF RP$="Y" THEN RESTORE:GOTO 130 ELSE IF RP$<>"N" THEN 1610
1620 CLEAR:ON ERROR GOTO 1630:RUN"MENU2.002"
1630 CLEAR:ON ERROR GOTO 1640:RUN"MENU1.001"
1640 RUN"MENU3.003
1650 DATA 0,2,14,10,0,2,98,0,8,40,8,4,8,4,99,-2,-4,0,99,0,6,10,0,6,50,00,6,12,0,0,4,-2,-8,18,0,0,16,-2,0,99,14,30,6,0,0,2,0,4,2,0
1660 DATA 0,2,14,10,0,2,98,6,8,40,8,4,8,4,99,-2,-4,0,99,0,6,10,0,6,50,00,6,12,0,0,4,-2,-8,18,0,0,16,-2,0,99,14,30,6,0,0,2,0,4,2,0