home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib01.dsk / FOOTBALL.int < prev    next >
Text File  |  2023-02-26  |  8KB  |  163 lines

  1. 1 GOSUB 29000:REM  TITLE
  2. 110 GOSUB 32000:REM  DIM'S
  3. 200 GOSUB 30000:REM  GAME INITS
  4. 300 GOSUB 31000:REM  PLAYING FLD
  5. 400 IF PASS THEN 700
  6. 410 B= PEEK (-16287+H)>127:B=BB+B:IF B AND NOT OB THEN 600
  7. 526 IF B AND NOT OB THEN 700:IF NOT OB AND NOT B THEN 700:OB=0:GOTO 700
  8. 600 OB=B
  9. 610 X=X+5:IF X>39 THEN X=0
  10. 620 IF  SCRN(X,Y)#4 THEN 3000:YTG=YTG-1:FLDPOS=FLDPOS+1
  11. 625 IF YTG<0 THEN YTG=0
  12. 630 VTAB 24:TAB 36:PRINT "  ";:TAB 36:IF FLDPOS>=100 THEN PRINT 0;:IF FLDPOS#100 THEN PRINT 100-FLDPOS;
  13. 640 HLIN X,X+1 AT Y:COLOR= 4
  14. 650 HLIN OX,OX+1 AT OY:OX=X:COLOR= CL:IF FLDPOS=101 THEN 20000
  15. 700 PD=PDL (H)
  16. 800 IF PD<50 THEN PY=33:IF PD>=50 AND PD<200 THEN PY=20:IF PD>200 THEN PY=7
  17. 900 IF PY=Y THEN 940:IF (PY=7 AND Y=33) OR (PY=33 AND Y=7) THEN PY=20
  18. 910 Y=PY:IF  SCRN(X,Y)#4 THEN 3000
  19. 920 HLIN X,X+1 AT Y:COLOR= 4
  20. 930 HLIN OX,OX+1 AT OY:OY=Y:COLOR= CL
  21. 940 IF NOT PASS THEN 1000:COLOR= SVC:PLOT LX,LY:LX=(LX+1) MOD 40
  22. 950 SVC= SCRN(LX,LY):COLOR= CL:PLOT LX,LY:IF LX=6 THEN 999
  23. 960 IF X=LX AND Y=LY THEN PASS=0:IF PASS THEN 1000:FLDPOS=FLDPOS+8:YTG=YTG-8
  24. 970 B=1:BB=B:GOTO 1000
  25. 999 X(1)=X:Y(1)=Y:GOTO 3000
  26. 1000 IF NOT TIME THEN 2000:TIME=TIME-1
  27. 1010 VTAB 24:TAB 16:PRINT " ";:IF TIME>=1800 THEN TAB 16:PRINT (TIME/3)/60;":";
  28. 1020 IF (TIME/3) MOD 60<10 THEN PRINT "0";:PRINT (TIME/3) MOD 60;
  29. 1030 BB=0
  30. 1999 IF TIME MOD 10=9 THEN J= PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)
  31. 2000 I= RND (L):IF I THEN 400
  32. 2005 OB=0:BB= PEEK (-16287+H)>127
  33. 2010 DX=0:DY=0:I= RND (5)+1:IF  RND (2) THEN 2030
  34. 2020 DX=-5:IF X(I)<X THEN DX=5:GOTO 2040
  35. 2030 DY=-13:IF Y(I)<Y THEN DY=13
  36. 2040 TX=X(I)+DX:TY=Y(I)+DY:IF TX<0 OR TX>39 THEN TX=X(I)
  37. 2050 IF TY<0 OR TY>39 THEN TY=Y(I)
  38. 2060 IF  SCRN(TX,TY)=9 THEN 400
  39. 2070 COLOR= 4:HLIN X(I),X(I)+1 AT Y(I):X(I)=TX:Y(I)=TY
  40. 2080 COLOR= 9:HLIN X(I),X(I)+1 AT Y(I):COLOR= CL
  41. 2090 IF TX=X AND TY=Y THEN 3018:GOTO 400
  42. 3000 GOSUB 25000
  43. 3010 FOR I=1 TO 5:IF X(I)=X AND Y(I)=Y THEN 3020:NEXT I
  44. 3012 GOTO 3020
  45. 3018 GOSUB 25000
  46. 3020 FOR J=1 TO 8:COLOR= 4:HLIN X(I),X(I)+1 AT Y(I)
  47. 3030 FOR K=1 TO 40:NEXT K
  48. 3040 COLOR= 9:HLIN X(I),X(I)+1 AT Y(I)
  49. 3050 FOR K=1 TO 40:NEXT K,J:BB=0
  50. 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
  51. 3070 IF YTG<1 THEN 3100:FLDPOS=100-FLDPOS:H=H#1
  52. 3100 YTG=10:DOWN=1:IF 100-FLDPOS<YTG THEN YTG=100-FLDPOS
  53. 3110 IF TIME THEN 300
  54. 3120 QTR=QTR+1
  55. 3130 TIME=2700:IF QTR=5 THEN END 
  56. 3135 TEXT :CALL -936:VTAB 11:TAB 21:PRINT QTR:PRINT :TAB 18:PRINT "QUARTER":FOR I=1 TO 1200:NEXT I:GR 
  57. 3140 IF QTR#3 THEN 300
  58. 3150 H=0:FLDPOS=20:YTG=10:DOWN=1:GOTO 300
  59. 5555 PRINT PDL (0):GOTO 5555
  60. 20000 TEXT :CALL -936:VTAB 11:TAB 16: POKE 50,127
  61. 20010 PRINT "TOUCHDOWN": POKE 50,255
  62. 20020 GOSUB 25009:PRINT "           ":GOSUB 25009:PRINT ""
  63. 20030 IF H THEN HOM=HOM+7:IF NOT H THEN VIS=VIS+7:FLDPOS=20:DOWN=1:YTG=10:H=H#1
  64. 20035 IF TIME THEN 20040:QTR=QTR+1:IF QTR#5 THEN 3130:QTR=4:GR :GOTO 300
  65. 20040 GOSUB 25009:FOR I=1 TO 300:NEXT I:GR :GOTO 300
  66. 25000 IF DOWN=4 AND YTG>0 THEN 25009:PRINT "";:RETURN 
  67. 25009 FOR JJ=1 TO 3:FOR K=1 TO 15
  68. 25010 J= PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)+ PEEK (-16336)- PEEK (-16336)
  69. 25011 NEXT K:FOR J=1 TO 90:NEXT J,JJ:RETURN 
  70. 27000 POP :F= RND (65):IF FLDPOS+F>101 THEN 27150:GOSUB 25009:GOTO 27190
  71. 27150 FOR I=1 TO 500:NEXT I
  72. 27155 TEXT :CALL -936:VTAB 11:TAB 16: POKE 50,127
  73. 27160 PRINT "FIELDGOAL": POKE 50,255
  74. 27170 GOSUB 25009:PRINT "         ":GOSUB 25009
  75. 27180 IF H THEN HOM=HOM+3:IF NOT H THEN VIS=VIS+3
  76. 27190 FLDPOS=20:DOWN=1:YTG=10:H=H#1:GR :FOR I=1 TO 1200:NEXT I:GR :GOTO 300
  77. 27290 FLDPOS=20:DOWN=1:YTG=10:H=H#1:GR :FOR I=1 TO 1200:NEXT I:GR :GOTO 300
  78. 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
  79. 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
  80. 27610 PASS=1:BB=1:LX=7:LY= RND (3):SVC=4
  81. 27620 IF NOT LY THEN LY=7:IF LY=1 THEN LY=20:IF LY=2 THEN LY=33
  82. 27630 OB=0:POP :FOR I=1 TO 150:NEXT I:GOTO 410
  83. 29000 TEXT :CALL -936:VTAB 7
  84. 29010 TAB 13:PRINT "*** FOOTBALL ***":PRINT :PRINT :PRINT 
  85. 29020 TAB 16:PRINT "WRITTEN BY":PRINT 
  86. 29030 TAB 16:PRINT "LOU HAEHN"
  87. 29035 VTAB 24:PRINT "(C) 1978 BY LOU HAEHN";
  88. 29040 FOR I=0 TO 1300: POKE 1979,I MOD 256:NEXT I:RETURN 
  89. 30000 FLDPOS=20:H=1
  90. 30010 FLD=4
  91. 30020 HOM=0:VIS=0
  92. 30030 DOWN=1:YTG=10
  93. 30040 TIME=2700:QTR=1
  94. 30999 RETURN 
  95. 31000 COLOR= 4:FOR I=0 TO 2:VLIN 1,38 AT I:NEXT I:PASS=0
  96. 31001 FOR I=4 TO 37 STEP 5:FOR J=0 TO 3:VLIN 1,38 AT J+I:NEXT J,I
  97. 31002 VLIN 1,38 AT 39
  98. 31008 Y=20:X=0:OX=0:OY=Y
  99. 31009 B=0:PD=B:OB=B:PY=0
  100. 31010 COLOR= 15:HLIN 0,39 AT 0:HLIN 0,39 AT 39
  101. 31020 FOR I=3 TO 39 STEP 5:VLIN 0,39 AT I
  102. 31030 NEXT I
  103. 31031 CL=11:IF H THEN CL=13
  104. 31035 COLOR= CL:HLIN X,X+1 AT Y
  105. 31036 VTAB 21:FOR I=3 TO 39 STEP 5:TAB I:PRINT "  ";:NEXT I
  106. 31037 IF FLDPOS#100 THEN 31040:TAB 3:GOTO 31046
  107. 31040 FOR I=3 TO 39 STEP 5:TAB I:W=FLDPOS+I/5
  108. 31041 IF W>50 THEN W=100-W:
  109. 31045 IF W=0 THEN 31046:PRINT W;:NEXT I:GOTO 31050
  110. 31046 PRINT "G";
  111. 31050 IF H THEN  POKE 50,63:VTAB 23:TAB 2:PRINT "HOME";: POKE 50,255:TAB 10:PRINT HOM;
  112. 31055 IF NOT H THEN  POKE 50,63:VTAB 24:TAB 2:PRINT "VISITOR";: POKE 50,255:TAB 10:PRINT VIS;
  113. 31060 VTAB 24:TAB 24:PRINT "YDS TO GOAL   ";:TAB 36:PRINT 100-FLDPOS;
  114. 31070 VTAB 22:TAB 24:PRINT "DOWN   ";:TAB 29:PRINT DOWN;
  115. 31080 VTAB 23:TAB 24:PRINT "YARDS TO GO   ";:TAB 36:PRINT YTG;
  116. 31090 VTAB 22:TAB 16:PRINT "QTR  ";:TAB 20:PRINT QTR;
  117. 31095 VTAB 24:TAB 20:PRINT " ";
  118. 31100 VTAB 24:TAB 16:PRINT " ";:IF TIME>=1800 THEN TAB 16:PRINT (TIME/3)/60;":";
  119. 31110 IF (TIME/3) MOD 60<10 THEN PRINT "0";:PRINT (TIME/3) MOD 60;
  120. 31120 VTAB 23:TAB 16:PRINT "TIME:";
  121. 31130 FOR I=1 TO 3:X(I)=15:NEXT I
  122. 31140 FOR I=3 TO 5:Y(I)=20:NEXT I
  123. 31150 Y(1)=7:Y(2)=33
  124. 31160 X(4)=25:X(5)=35
  125. 31170 COLOR= 9:FOR I=1 TO 5:HLIN X(I),X(I)+1 AT Y(I):NEXT I:COLOR= CL
  126. 31180 IF NOT TIME AND QTR=4 THEN END 
  127. 31800 KEY= PEEK (-16384):IF KEY<127 THEN 31800: POKE -16368,0:IF KEY= ASC(" ") THEN 31999
  128. 31810 IF KEY# ASC("K") AND KEY# ASC("F") AND KEY# ASC("P") THEN 31800
  129. 31820 IF KEY= ASC("F") THEN 27000
  130. 31830 IF KEY= ASC("K") THEN 27300
  131. 31840 IF KEY= ASC("P") THEN 27600
  132. 31999 RETURN 
  133. 32000 REM  GAME INITS
  134. 32020 DIM X(5),Y(5)
  135. 32030 Y=20:X=0:OX=0:OY=Y:B=0:PD=B:OB=B:PY=0:CL=0:DIM HOM$(30),VIS$(30)
  136. 32035 CALL -936:VTAB 8:PRINT "** KEYS ACTIVE AT BEGINNING OF DOWN **"
  137. 32036 VTAB 12:TAB 5:PRINT "SPACE BAR = RUNNING PLAY":PRINT 
  138. 32037 TAB 5:PRINT "'P'       = PASS PLAY":PRINT 
  139. 32038 TAB 5:PRINT "'K'       = PUNT OR QUICK KICK":PRINT 
  140. 32039 TAB 5:PRINT "'F'       = FIELD GOAL ATTEMPT"
  141. 32040 FOR I=1 TO 10000:NEXT I
  142. 32060 CALL -936:VTAB 6:PRINT "**** CHOOSE YOUR SKILL LEVEL ****"
  143. 32070 PRINT :PRINT :TAB 6:PRINT "0  = BEGINNER":PRINT 
  144. 32080 TAB 6:PRINT "13 = AVERAGE":PRINT 
  145. 32090 TAB 6:PRINT "25 = EXPERT":PRINT 
  146. 32100 TAB 6:PRINT "(ALL NUMBERS 0 THRU 25 ARE VALID)":PRINT :PRINT :TAB 6
  147. 32110 INPUT "LEVEL ",L:IF L<0 OR L>25 THEN 32060:L=26-L
  148. 32120 GR :CALL -936
  149. 32130 TAB 10:PRINT "HOME";:TAB 30:PRINT "VISITOR":PRINT :PRINT "    MOVE GAME CONTROLS TO PICK TEAM":PRINT "   -> PRESS ANY KEY TO START GAME <-";
  150. 32140 OT0=PDL (0)/7:OT1=PDL (1)/7:T0=OT0:T1=OT1
  151. 32150 COLOR= 15
  152. 32160 COLOR= 0:PLOT 10,OT1:PLOT 30,OT0:COLOR= 15:PLOT 10,T1:PLOT 30,T0
  153. 32170 OT0=T0:OT1=T1:IF  PEEK (-16384)>127 THEN 32700
  154. 32180 T0=PDL (0)/7:T1=PDL (1)/7:GOTO 32160
  155. 32700  POKE -16368,0:CALL -936
  156. 32710 GR :CALL -936:PRINT "CONTOL VERTICAL MOVEMENT WITH PADDLE":PRINT 
  157. 32711 COLOR= 13:FOR I=0 TO 39:PLOT 20,I:FOR J=1 TO 15:NEXT J,I
  158. 32712 COLOR= 0:FOR I=39 TO 0 STEP -1:PLOT 20,I:FOR J=1 TO 15:NEXT J,I
  159. 32720 GR :CALL -936:PRINT "CONTOL HORIZONTAL MOVEMENT WITH BUTTON":PRINT 
  160. 32721 COLOR= 13:FOR I=0 TO 39:PLOT I,20:FOR J=1 TO 15:NEXT J,I
  161. 32722 COLOR= 0:FOR I=39 TO 0 STEP -1:PLOT I,20:FOR J=1 TO 15:NEXT J,I
  162. 32730 CALL -936:RETURN 
  163.