home *** CD-ROM | disk | FTP | other *** search
- 1 GOSUB 29000:REM TITLE
- 110 GOSUB 32000:REM DIM'S
- 200 GOSUB 30000:REM GAME INITS
- 300 GOSUB 31000:REM PLAYING FLD
- 400 IF PASS THEN 700
- 410 B= PEEK (-16287+H)>127:B=BB+B:IF B AND NOT OB THEN 600
- 526 IF B AND NOT OB THEN 700:IF NOT OB AND NOT B THEN 700:OB=0:GOTO 700
- 600 OB=B
- 610 X=X+5:IF X>39 THEN X=0
- 620 IF SCRN(X,Y)#4 THEN 3000:YTG=YTG-1:FLDPOS=FLDPOS+1
- 625 IF YTG<0 THEN YTG=0
- 630 VTAB 24:TAB 36:PRINT " ";:TAB 36:IF FLDPOS>=100 THEN PRINT 0;:IF FLDPOS#100 THEN PRINT 100-FLDPOS;
- 640 HLIN X,X+1 AT Y:COLOR= 4
- 650 HLIN OX,OX+1 AT OY:OX=X:COLOR= CL:IF FLDPOS=101 THEN 20000
- 700 PD=PDL (H)
- 800 IF PD<50 THEN PY=33:IF PD>=50 AND PD<200 THEN PY=20:IF PD>200 THEN PY=7
- 900 IF PY=Y THEN 940:IF (PY=7 AND Y=33) OR (PY=33 AND Y=7) THEN PY=20
- 910 Y=PY:IF SCRN(X,Y)#4 THEN 3000
- 920 HLIN X,X+1 AT Y:COLOR= 4
- 930 HLIN OX,OX+1 AT OY:OY=Y:COLOR= CL
- 940 IF NOT PASS THEN 1000:COLOR= SVC:PLOT LX,LY:LX=(LX+1) MOD 40
- 950 SVC= SCRN(LX,LY):COLOR= CL:PLOT LX,LY:IF LX=6 THEN 999
- 960 IF X=LX AND Y=LY THEN PASS=0:IF PASS THEN 1000:FLDPOS=FLDPOS+8:YTG=YTG-8
- 970 B=1:BB=B:GOTO 1000
- 999 X(1)=X:Y(1)=Y:GOTO 3000
- 1000 IF NOT TIME THEN 2000:TIME=TIME-1
- 1010 VTAB 24:TAB 16:PRINT " ";:IF TIME>=1800 THEN TAB 16:PRINT (TIME/3)/60;":";
- 1020 IF (TIME/3) MOD 60<10 THEN PRINT "0";:PRINT (TIME/3) MOD 60;
- 1030 BB=0
- 1999 IF TIME MOD 10=9 THEN J= PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)
- 2000 I= RND (L):IF I THEN 400
- 2005 OB=0:BB= PEEK (-16287+H)>127
- 2010 DX=0:DY=0:I= RND (5)+1:IF RND (2) THEN 2030
- 2020 DX=-5:IF X(I)<X THEN DX=5:GOTO 2040
- 2030 DY=-13:IF Y(I)<Y THEN DY=13
- 2040 TX=X(I)+DX:TY=Y(I)+DY:IF TX<0 OR TX>39 THEN TX=X(I)
- 2050 IF TY<0 OR TY>39 THEN TY=Y(I)
- 2060 IF SCRN(TX,TY)=9 THEN 400
- 2070 COLOR= 4:HLIN X(I),X(I)+1 AT Y(I):X(I)=TX:Y(I)=TY
- 2080 COLOR= 9:HLIN X(I),X(I)+1 AT Y(I):COLOR= CL
- 2090 IF TX=X AND TY=Y THEN 3018:GOTO 400
- 3000 GOSUB 25000
- 3010 FOR I=1 TO 5:IF X(I)=X AND Y(I)=Y THEN 3020:NEXT I
- 3012 GOTO 3020
- 3018 GOSUB 25000
- 3020 FOR J=1 TO 8:COLOR= 4:HLIN X(I),X(I)+1 AT Y(I)
- 3030 FOR K=1 TO 40:NEXT K
- 3040 COLOR= 9:HLIN X(I),X(I)+1 AT Y(I)
- 3050 FOR K=1 TO 40:NEXT K,J:BB=0
- 3060 DOWN=DOWN+1:IF DOWN<5 AND TIME AND YTG>=1 THEN 300:IF DOWN<5 AND YTG>=1 AND NOT TIME THEN 3120
- 3070 IF YTG<1 THEN 3100:FLDPOS=100-FLDPOS:H=H#1
- 3100 YTG=10:DOWN=1:IF 100-FLDPOS<YTG THEN YTG=100-FLDPOS
- 3110 IF TIME THEN 300
- 3120 QTR=QTR+1
- 3130 TIME=2700:IF QTR=5 THEN END
- 3135 TEXT :CALL -936:VTAB 11:TAB 21:PRINT QTR:PRINT :TAB 18:PRINT "QUARTER":FOR I=1 TO 1200:NEXT I:GR
- 3140 IF QTR#3 THEN 300
- 3150 H=0:FLDPOS=20:YTG=10:DOWN=1:GOTO 300
- 5555 PRINT PDL (0):GOTO 5555
- 20000 TEXT :CALL -936:VTAB 11:TAB 16: POKE 50,127
- 20010 PRINT "TOUCHDOWN": POKE 50,255
- 20020 GOSUB 25009:PRINT " ":GOSUB 25009:PRINT ""
- 20030 IF H THEN HOM=HOM+7:IF NOT H THEN VIS=VIS+7:FLDPOS=20:DOWN=1:YTG=10:H=H#1
- 20035 IF TIME THEN 20040:QTR=QTR+1:IF QTR#5 THEN 3130:QTR=4:GR :GOTO 300
- 20040 GOSUB 25009:FOR I=1 TO 300:NEXT I:GR :GOTO 300
- 25000 IF DOWN=4 AND YTG>0 THEN 25009:PRINT "";:RETURN
- 25009 FOR JJ=1 TO 3:FOR K=1 TO 15
- 25010 J= PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)
- 25011 NEXT K:FOR J=1 TO 90:NEXT J,JJ:RETURN
- 27000 POP :F= RND (65):IF FLDPOS+F>101 THEN 27150:GOSUB 25009:GOTO 27190
- 27150 FOR I=1 TO 500:NEXT I
- 27155 TEXT :CALL -936:VTAB 11:TAB 16: POKE 50,127
- 27160 PRINT "FIELDGOAL": POKE 50,255
- 27170 GOSUB 25009:PRINT " ":GOSUB 25009
- 27180 IF H THEN HOM=HOM+3:IF NOT H THEN VIS=VIS+3
- 27190 FLDPOS=20:DOWN=1:YTG=10:H=H#1:GR :FOR I=1 TO 1200:NEXT I:GR :GOTO 300
- 27290 FLDPOS=20:DOWN=1:YTG=10:H=H#1:GR :FOR I=1 TO 1200:NEXT I:GR :GOTO 300
- 27300 POP :FOR I=1 TO 400:NEXT I:F=99-FLDPOS:FLDPOS=FLDPOS+ RND (F):GOSUB 25009:FOR I=1 TO 300:NEXT I:GOTO 3070
- 27600 IF FLDPOS<=90 THEN 27610:CALL -936:VTAB 23:PRINT "** CAN'T PASS INTO END ZONE **";:FOR I=1 TO 1300:NEXT I:CALL -936:GOTO 31000
- 27610 PASS=1:BB=1:LX=7:LY= RND (3):SVC=4
- 27620 IF NOT LY THEN LY=7:IF LY=1 THEN LY=20:IF LY=2 THEN LY=33
- 27630 OB=0:POP :FOR I=1 TO 150:NEXT I:GOTO 410
- 29000 TEXT :CALL -936:VTAB 7
- 29010 TAB 13:PRINT "*** FOOTBALL ***":PRINT :PRINT :PRINT
- 29020 TAB 16:PRINT "WRITTEN BY":PRINT
- 29030 TAB 16:PRINT "LOU HAEHN"
- 29035 VTAB 24:PRINT "(C) 1978 BY LOU HAEHN";
- 29040 FOR I=0 TO 1300: POKE 1979,I MOD 256:NEXT I:RETURN
- 30000 FLDPOS=20:H=1
- 30010 FLD=4
- 30020 HOM=0:VIS=0
- 30030 DOWN=1:YTG=10
- 30040 TIME=2700:QTR=1
- 30999 RETURN
- 31000 COLOR= 4:FOR I=0 TO 2:VLIN 1,38 AT I:NEXT I:PASS=0
- 31001 FOR I=4 TO 37 STEP 5:FOR J=0 TO 3:VLIN 1,38 AT J+I:NEXT J,I
- 31002 VLIN 1,38 AT 39
- 31008 Y=20:X=0:OX=0:OY=Y
- 31009 B=0:PD=B:OB=B:PY=0
- 31010 COLOR= 15:HLIN 0,39 AT 0:HLIN 0,39 AT 39
- 31020 FOR I=3 TO 39 STEP 5:VLIN 0,39 AT I
- 31030 NEXT I
- 31031 CL=11:IF H THEN CL=13
- 31035 COLOR= CL:HLIN X,X+1 AT Y
- 31036 VTAB 21:FOR I=3 TO 39 STEP 5:TAB I:PRINT " ";:NEXT I
- 31037 IF FLDPOS#100 THEN 31040:TAB 3:GOTO 31046
- 31040 FOR I=3 TO 39 STEP 5:TAB I:W=FLDPOS+I/5
- 31041 IF W>50 THEN W=100-W:
- 31045 IF W=0 THEN 31046:PRINT W;:NEXT I:GOTO 31050
- 31046 PRINT "G";
- 31050 IF H THEN POKE 50,63:VTAB 23:TAB 2:PRINT "HOME";: POKE 50,255:TAB 10:PRINT HOM;
- 31055 IF NOT H THEN POKE 50,63:VTAB 24:TAB 2:PRINT "VISITOR";: POKE 50,255:TAB 10:PRINT VIS;
- 31060 VTAB 24:TAB 24:PRINT "YDS TO GOAL ";:TAB 36:PRINT 100-FLDPOS;
- 31070 VTAB 22:TAB 24:PRINT "DOWN ";:TAB 29:PRINT DOWN;
- 31080 VTAB 23:TAB 24:PRINT "YARDS TO GO ";:TAB 36:PRINT YTG;
- 31090 VTAB 22:TAB 16:PRINT "QTR ";:TAB 20:PRINT QTR;
- 31095 VTAB 24:TAB 20:PRINT " ";
- 31100 VTAB 24:TAB 16:PRINT " ";:IF TIME>=1800 THEN TAB 16:PRINT (TIME/3)/60;":";
- 31110 IF (TIME/3) MOD 60<10 THEN PRINT "0";:PRINT (TIME/3) MOD 60;
- 31120 VTAB 23:TAB 16:PRINT "TIME:";
- 31130 FOR I=1 TO 3:X(I)=15:NEXT I
- 31140 FOR I=3 TO 5:Y(I)=20:NEXT I
- 31150 Y(1)=7:Y(2)=33
- 31160 X(4)=25:X(5)=35
- 31170 COLOR= 9:FOR I=1 TO 5:HLIN X(I),X(I)+1 AT Y(I):NEXT I:COLOR= CL
- 31180 IF NOT TIME AND QTR=4 THEN END
- 31800 KEY= PEEK (-16384):IF KEY<127 THEN 31800: POKE -16368,0:IF KEY= ASC(" ") THEN 31999
- 31810 IF KEY# ASC("K") AND KEY# ASC("F") AND KEY# ASC("P") THEN 31800
- 31820 IF KEY= ASC("F") THEN 27000
- 31830 IF KEY= ASC("K") THEN 27300
- 31840 IF KEY= ASC("P") THEN 27600
- 31999 RETURN
- 32000 REM GAME INITS
- 32020 DIM X(5),Y(5)
- 32030 Y=20:X=0:OX=0:OY=Y:B=0:PD=B:OB=B:PY=0:CL=0:DIM HOM$(30),VIS$(30)
- 32035 CALL -936:VTAB 8:PRINT "** KEYS ACTIVE AT BEGINNING OF DOWN **"
- 32036 VTAB 12:TAB 5:PRINT "SPACE BAR = RUNNING PLAY":PRINT
- 32037 TAB 5:PRINT "'P' = PASS PLAY":PRINT
- 32038 TAB 5:PRINT "'K' = PUNT OR QUICK KICK":PRINT
- 32039 TAB 5:PRINT "'F' = FIELD GOAL ATTEMPT"
- 32040 FOR I=1 TO 10000:NEXT I
- 32060 CALL -936:VTAB 6:PRINT "**** CHOOSE YOUR SKILL LEVEL ****"
- 32070 PRINT :PRINT :TAB 6:PRINT "0 = BEGINNER":PRINT
- 32080 TAB 6:PRINT "13 = AVERAGE":PRINT
- 32090 TAB 6:PRINT "25 = EXPERT":PRINT
- 32100 TAB 6:PRINT "(ALL NUMBERS 0 THRU 25 ARE VALID)":PRINT :PRINT :TAB 6
- 32110 INPUT "LEVEL ",L:IF L<0 OR L>25 THEN 32060:L=26-L
- 32120 GR :CALL -936
- 32130 TAB 10:PRINT "HOME";:TAB 30:PRINT "VISITOR":PRINT :PRINT " MOVE GAME CONTROLS TO PICK TEAM":PRINT " -> PRESS ANY KEY TO START GAME <-";
- 32140 OT0=PDL (0)/7:OT1=PDL (1)/7:T0=OT0:T1=OT1
- 32150 COLOR= 15
- 32160 COLOR= 0:PLOT 10,OT1:PLOT 30,OT0:COLOR= 15:PLOT 10,T1:PLOT 30,T0
- 32170 OT0=T0:OT1=T1:IF PEEK (-16384)>127 THEN 32700
- 32180 T0=PDL (0)/7:T1=PDL (1)/7:GOTO 32160
- 32700 POKE -16368,0:CALL -936
- 32710 GR :CALL -936:PRINT "CONTOL VERTICAL MOVEMENT WITH PADDLE":PRINT
- 32711 COLOR= 13:FOR I=0 TO 39:PLOT 20,I:FOR J=1 TO 15:NEXT J,I
- 32712 COLOR= 0:FOR I=39 TO 0 STEP -1:PLOT 20,I:FOR J=1 TO 15:NEXT J,I
- 32720 GR :CALL -936:PRINT "CONTOL HORIZONTAL MOVEMENT WITH BUTTON":PRINT
- 32721 COLOR= 13:FOR I=0 TO 39:PLOT I,20:FOR J=1 TO 15:NEXT J,I
- 32722 COLOR= 0:FOR I=39 TO 0 STEP -1:PLOT I,20:FOR J=1 TO 15:NEXT J,I
- 32730 CALL -936:RETURN
-