ChipMaster's bwBASIC This also includes history going back to v2.10. *WARN* some binary files might have been corrupted by CRLF.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

182 lines
6.5 KiB

  1. 1 PRINT TAB(32);"FOOTBALL"
  2. 2 PRINT TAB(15);"CREATIVE COMPUTING MORRISTOWN, NEW JERSEY"
  3. 3 PRINT:PRINT:PRINT
  4. 100 REM
  5. 120 DIM A(20),B(20),C(40),H(2),T(2),W(2),X(2),Y(2),Z(2)
  6. 130 DIM M$(2),D(2),P$(20)
  7. 140 PRINT "PRESENTING N.F.U. FOOTBALL (NO FORTRAN USED)"
  8. 145 PRINT:PRINT
  9. 150 INPUT "DO YOU WANT INSTRUCTIONS";A$
  10. 160 IF A$="NO" THEN 290
  11. 165 IF A$<>"YES" THEN 150
  12. 170 PRINT "THIS IS A FOOTBALL GAME FOR TWO TEAMS IN WHICH PLAYERS MUST"
  13. 180 PRINT "PREPARE A TAPE WITH A DATA STATEMENT (1770 FOR TEAM 1,"
  14. 190 PRINT "1780 FOR TEAM 2) IN WHICH EACH TEAM SCRAMBLES NOS. 1-20"
  15. 195 PRINT "THESE NUMBERS ARE THEN ASSIGNED TO TWENTY GIVEN PLAYS."
  16. 200 PRINT"A LIST OF NOS. AND THEIR PLAYS IS PROVIDED WITH"
  17. 210 PRINT "BOTH TEAMS HAVING THE SAME PLAYS. THE MORE SIMILAR THE"
  18. 220 PRINT "PLAYS THE LESS YARDAGE GAINED. SCORES ARE GIVEN"
  19. 223 PRINT "WHENEVER SCORES ARE MADE. SCORES MAY ALSO BE OBTAINED"
  20. 225 PRINT "BY INPUTTING 99,99 FOR PLAY NOS. TO PUNT OR ATTEMPT A"
  21. 227 PRINT "FIELD GOAL, INPUT 77,77 FOR PLAY NUMBERS. QUESTIONS WILL BE"
  22. 230 PRINT "ASKED THEN. ON 4TH DOWN, YOU WILL ALSO BE ASKED WHETHER"
  23. 240 PRINT "YOU WANT TO PUNT OR ATTEMPT A FIELD GOAL. IF THE ANSWER TO"
  24. 250 PRINT "BOTH QUESTIONS IS NO IT WILL BE ASSUMED YOU WANT TO"
  25. 260 PRINT "TRY AND GAIN YARDAGE. ANSWER ALL QUESTIONS YES OR NO."
  26. 270 PRINT "THE GAME IS PLAYED UNTIL PLAYERS TERMINATE (CONTROL-C)."
  27. 280 PRINT "PLEASE PREPARE A TAPE AND RUN.": STOP
  28. 290 PRINT:PRINT "PLEASE INPUT SCORE LIMIT ON GAME";:INPUT E
  29. 300 FOR I=1 TO 40: READ N: IF I>20 THEN 350
  30. 330 A(N)=I: GOTO 360
  31. 350 B(N)=I-20
  32. 360 C(I)=N: NEXT I
  33. 370 FOR I=1 TO 20: READ P$(I): NEXT I
  34. 380 L=0: T=1
  35. 410 PRINT "TEAM";T;"PLAY CHART"
  36. 420 PRINT "NO. PLAY"
  37. 430 FOR I=1 TO 20
  38. 440 REM
  39. 450 PRINT C(I+L);TAB(6);P$(I)
  40. 460 NEXT I
  41. 630 L=L+20:T=2
  42. 640 PRINT
  43. 650 PRINT "TEAR OFF HERE----------------------------------------------"
  44. 660 FOR X=1 TO 11: PRINT: NEXT X
  45. 670 FOR Z=1 TO 3000: NEXT Z
  46. 680 IF L=20 THEN 410
  47. 690 D(1)=0: D(2)=3: M$(1)="--->": M$(2)="<---"
  48. 700 H(1)=0: H(2)=0: T(1)=2: T(2)=1
  49. 710 W(1)=-1: W(2)=1: X(1)=100: X(2)=0
  50. 720 Y(1)=1: Y(2)=-1: Z(1)=0: Z(2)=100
  51. 725 GOSUB 1910
  52. 730 PRINT "TEAM 1 DEFENDS 0 YD GOAL -- TEAM 2 DEFENDS 100 YD GOAL."
  53. 740 T=INT(2*RND(1)+1)
  54. 760 PRINT: PRINT "THE COIN IS FLIPPED"
  55. 765 P=X(T)-Y(T)*40
  56. 770 GOSUB 1860: PRINT : PRINT "TEAM";T;"RECEIVES KICK-OFF"
  57. 780 K=INT(26*RND(1)+40)
  58. 790 P=P-Y(T)*K
  59. 794 IF W(T)*P<Z(T)+10 THEN 810
  60. 795 PRINT: PRINT "BALL WENT OUT OF ENDZONE --AUTOMATIC TOUCHBACK--"
  61. 796 GOTO 870
  62. 810 PRINT "BALL WENT";K;"YARDS. NOW ON";P:GOSUB 1900
  63. 830 PRINT "TEAM";T;"DO YOU WANT TO RUNBACK";:INPUT A$
  64. 840 IF A$="YES" THEN 1430
  65. 845 IF A$<>"NO" THEN 830
  66. 850 IF W(T)*P<Z(T) THEN 880
  67. 870 P=Z(T)-W(T)*20
  68. 880 D=1: S=P
  69. 885 FOR I=1 TO 72: PRINT "=";: NEXT I
  70. 890 PRINT: PRINT "TEAM";T;"DOWN";D;"ON";P
  71. 893 IF D<>1 THEN 900
  72. 895 IF Y(T)*(P+Y(T)*10)>=X(T) THEN 898
  73. 897 C=4: GOTO 900
  74. 898 C=8
  75. 900 IF C=8 THEN 904
  76. 901 PRINT TAB(27);10-(Y(T)*P-Y(T)*S);"YARDS TO 1ST DOWN"
  77. 902 GOTO 910
  78. 904 PRINT TAB(27);X(T)-Y(T)*P;"YARDS"
  79. 910 GOSUB 1900: IF D=4 THEN 1180
  80. 920 REM
  81. 930 U=INT(3*RND(0)-1): GOTO 940
  82. 936 PRINT "ILLEGAL PLAY NUMBER, CHECK AND"
  83. 940 PRINT "INPUT OFFENSIVE PLAY, DEFENSIVE PLAY";
  84. 950 IF T=2 THEN 970
  85. 960 INPUT P1,P2: GOTO 975
  86. 970 INPUT P2,P1
  87. 975 IF P1=77 THEN 1180
  88. 980 IF P1>20 THEN 1800
  89. 985 IF P1<1 THEN 1800
  90. 990 IF P2>20 THEN 1800
  91. 992 IF P2<1 THEN 1800
  92. 995 P1=INT(P1): P2=INT(P2)
  93. 1000 Y=INT(ABS(A(P1)-B(P2))/19*((X(T)-Y(T)*P+25)*RND(1)-15))
  94. 1005 PRINT: IF T=2 THEN 1015
  95. 1010 IF A(P1)<11 THEN 1048
  96. 1012 GOTO 1020
  97. 1015 IF B(P2)<11 THEN 1048
  98. 1020 IF U<>0 THEN 1035
  99. 1025 PRINT "PASS INCOMPLETE TEAM";T
  100. 1030 Y=0: GOTO 1050
  101. 1035 G=RND(1): IF G>.025 THEN 1040
  102. 1037 IF Y>2 THEN 1045
  103. 1040 PRINT "QUARTERBACK SCRAMBLED": GOTO 1050
  104. 1045 PRINT "PASS COMPLETED": GOTO 1050
  105. 1048 PRINT "THE BALL WAS RUN"
  106. 1050 P=P-W(T)*Y
  107. 1060 PRINT: PRINT "NET YARDS GAINED ON DOWN";D;"ARE ";Y
  108. 1070 G=RND(1): IF G>.025 THEN 1110
  109. 1080 PRINT: PRINT "** LOSS OF POSSESSION FROM TEAM";T;"TO TEAM";T(T)
  110. 1100 GOSUB 1850: PRINT: T=T(T): GOTO 830
  111. 1110 IF Y(T)*P>=X(T) THEN 1320
  112. 1120 IF W(T)*P>=Z(T) THEN 1230
  113. 1130 IF Y(T)*P-Y(T)*S>=10 THEN 880
  114. 1140 D=D+1: IF D<>5 THEN 885
  115. 1160 PRINT: PRINT "CONVERSION UNSUCCESSFUL TEAM";T:T=T(T)
  116. 1170 GOSUB 1850: GOTO 880
  117. 1180 PRINT "DOES TEAM";T;"WANT TO PUNT";: INPUT A$
  118. 1185 IF A$="NO" THEN 1200
  119. 1187 IF A$<>"YES" THEN 1180
  120. 1190 PRINT:PRINT "TEAM";T;"WILL PUNT": G=RND(1): IF G<.025 THEN 1080
  121. 1195 GOSUB 1850: K=INT(25*RND(1)+35): T=T(T): GOTO 790
  122. 1200 PRINT "DOES TEAM";T;"WANT TO ATTEMPT A FIELD GOAL";: INPUT A$
  123. 1210 IF A$="YES" THEN 1640
  124. 1215 IF A$<>"NO" THEN 1200
  125. 1217 GOTO 920
  126. 1230 PRINT: PRINT "SAFETY AGAINST TEAM";T;"**********************OH-OH"
  127. 1240 H(T(T))=H(T(T))+2: GOSUB 1810
  128. 1280 PRINT"TEAM";T;"DO YOU WANT TO PUNT INSTEAD OF A KICKOFF";:INPUT A$
  129. 1290 P=Z(T)-W(T)*20: IF A$="YES" THEN 1190
  130. 1320 PRINT: PRINT "TOUCHDOWN BY TEAM";T;"*********************YEA TEAM"
  131. 1340 Q=7: G=RND(1): IF G>.1 THEN 1380
  132. 1360 Q=6: PRINT "EXTRA POINT NO GOOD": GOTO 1390
  133. 1380 PRINT "EXTRA POINT GOOD"
  134. 1390 H(T)=H(T)+Q: GOSUB 1810
  135. 1420 T=T(T): GOTO 765
  136. 1430 K=INT(9*RND(0)+1)
  137. 1440 R=INT(((X(T)-Y(T)*P+25)*RND(1)-15)/K)
  138. 1460 P=P-W(T)*R
  139. 1480 PRINT:PRINT "RUNBACK TEAM";T;R;"YARDS"
  140. 1485 G=RND(1): IF G<.025 THEN 1080
  141. 1490 IF Y(T)*P>=X(T) THEN 1320
  142. 1500 IF W(T)*P>=Z(T) THEN 1230
  143. 1510 GOTO 880
  144. 1640 PRINT: PRINT "TEAM";T;"WILL ATTEMPT A FIELD GOAL"
  145. 1645 G=RND(1): IF G<.025 THEN 1080
  146. 1650 F=INT(35*RND(1)+20)
  147. 1660 PRINT: PRINT "KICK IS";F;"YARDS LONG"
  148. 1680 P=P-W(T)*F: G=RND(1)
  149. 1690 IF G<.35 THEN 1735
  150. 1700 IF Y(T)*P<X(T) THEN 1740
  151. 1710 PRINT "FIELD GOAL GOOD FOR TEAM";T;"*********************YEA"
  152. 1720 Q=3: GOTO 1390
  153. 1735 PRINT "BALL WENT WIDE"
  154. 1740 PRINT "FIELD GOAL UNSUCCESFUL TEAM";T;"-----------------TOO BAD"
  155. 1742 GOSUB 1850: IF Y(T)*P<X(T)+10 THEN 1745
  156. 1744 T=T(T): GOTO 794
  157. 1745 PRINT: PRINT "BALL NOW ON";P
  158. 1750 T=T(T): GOSUB 1900: GOTO 830
  159. 1770 DATA 17,8,4,14,19,3,10,1,7,11,15,9,5,20,13,18,16,2,12,6
  160. 1780 DATA 20,2,17,5,8,18,12,11,1,4,19,14,10,7,9,15,6,13,16,3
  161. 1790 DATA "PITCHOUT","TRIPLE REVERSE","DRAW","QB SNEAK","END AROUND"
  162. 1792 DATA "DOUBLE REVERSE","LEFT SWEEP","RIGHT SWEEP","OFF TACKLE"
  163. 1794 DATA "WISHBONE OPTION","FLARE PASS","SCREEN PASS"
  164. 1796 DATA "ROLL OUT OPTION","RIGHT CURL","LEFT CURL","WISHBONE OPTION"
  165. 1798 DATA "SIDELINE PASS","HALF-BACK OPTION","RAZZLE-DAZZLE","BOMB!!!!"
  166. 1800 IF P1<>99 THEN 936
  167. 1810 PRINT: PRINT "TEAM 1 SCORE IS";H(1)
  168. 1820 PRINT "TEAM 2 SCORE IS";H(2): PRINT
  169. 1825 IF H(T)<E THEN 1830
  170. 1827 PRINT "TEAM";T;"WINS*******************": GOTO 2000
  171. 1830 IF P1=99 THEN 940
  172. 1835 RETURN
  173. 1850 PRINT
  174. 1860 FOR X=1 TO 72: PRINT "+";: NEXT X: PRINT
  175. 1870 RETURN
  176. 1900 PRINT TAB(D(T)+5+P/2);M$(T)
  177. 1910 PRINT "TEAM 1 [0 10 20 30 40 50 60 70 80 90";
  178. 1915 PRINT " 100] TEAM 2"
  179. 1920 PRINT
  180. 1930 RETURN
  181. 2000 END