File FOOTBL.30 (OMSI 30 basic source file)

Directory of image this file is from
This file as a plain text file

100 RANDOMIZE\DEF FNC(Z)=C-INT(4+(Z+(Z*RND(0)))/2)\LET F=0
110 DIM Z(6,4),P(2),Z1(13),D(3,6)
120 FOR A=0 TO 13\ READ Z1(A)
130 IF A>6 THEN 140\ FOR B=1 TO 3\ READ Z(A,B),D(B,A)\ NEXT B\ READ Z(A,4)
140 NEXT A\ PRINT "YOU RECEIVE";\ LET X=1
150 GOSUB 1310\ LET S=2-SGN(13-A1)
160 LET K=S\ LET T1=120\ LET U2=3\ LET U=3\ LET C=900
170 GOSUB 750\ LET F1=50
180 LET B=INT(F1+O*20*RND(0)+(1-O)*29*(2-RND(0)^7-RND(0)^(3-Z2)))\ LET O=0
190 LET C=FNC(8)\ LET L=0\ IF B<=99 THEN 780
200 PRINT "A  TOUCHBACK"\ LET B=20\ LET L=0\ IF S=2 THEN 220
210 PRINT "MY ";\ GO TO 230
220 PRINT "YOUR ";
230 GOSUB 1170\ GOSUB 1060\ LET D=1
240 LET F2=.06/2\ LET O=0\ IF C<=0 THEN 1000\ GOSUB 890\ LET Z2=1
250 LET Z3=.3\ IF C<=F*T1 THEN 1040
260 IF C<=0 THEN 1000
270 PRINT CHR$(255-L*33);\LET A=INT(C/60)\GOSUB 650\LET A=C-60*A
280 PRINT ":";\ GOSUB 650
290 PRINT "  ";\ GOSUB 1310\ IF S=1 THEN 310
300 IF A1>8 THEN 290\ LET M=A1\ GO TO 320
310 LET Y=A1-8\ IF (A1-10.5)^2>3 THEN 290
320 LET C=INT(C-L*(5+23*RND(X)))\ LET L=1
330 IF M=7 THEN 570\ IF M=8 THEN 610\ IF RND(X)>Z(M,Y) THEN 400
340 LET A=2\ GOSUB 1080\ IF M<4 THEN 350\ PRINT "PASS COMPLETE..";\ GOSUB 630
350 IF RND(X)<F2 THEN 880
360 IF G>0 THEN 390\ IF G=0 THEN 380\ IF G+B<1 THEN 720
370 PRINT "LOSS OF";-G;\ GO TO 520
380 PRINT "NO GAIN"\ LET C=FNC(5)\ GO TO 1120
390 IF B+G>99 THEN 530\ PRINT "GAIN OF";G;\ GO TO 520
400 IF M>3 THEN 410\ LET A=1\ GOSUB 1080\ GO TO 360
410 LET H=.06\ IF Y<>3 THEN 420\ LET H=1.3/10
420 IF RND(X)<H THEN 440\ IF RND(0)<5/100+INT(Y/3.5)*2/10 THEN 480
430 LET C=FNC(6)\ PRINT "PASS INCOMPLETE"\ LET L=0\ LET G=0\ GO TO 1120
440 PRINT "PASS **INTERCEPTED**";\ GOSUB 1080\ IF B<40 THEN 460
450 LET G=20*(1+SGN(G))
460 LET B=100-B-G\ GOSUB 1160\ LET C=FNC(9)\ IF B<1 THEN 200\ IF B>99 THEN 530
470 PRINT "AT ";\ GO TO 800
480 LET G=-(5+INT(10*RND(X)))\ PRINT "THE QUARTERBACK ";\ IF RND(X)>.5 THEN 500
490 PRINT "IS THROWN FOR A ";\ GO TO 350
500 LET G=-(2*G+8)\ LET M=5\ LET A=1
510 PRINT "SCRAMBLES FOR A ";\ GO TO 350
520 LET B=B+G\ PRINT "TO ";\ GOSUB 1180\ IF B<=99 THEN 540
530 GOSUB 660\ GO TO 170
540 IF B1>B THEN 1120
550 IF B1<B THEN 560\PRINT "**MEASUREMENT**"\ GOSUB 1280\IF RND(X)<.5 THEN 1120
560 GOSUB 1060\ LET D=0\ GO TO 1120
570 IF RND(X)<.06 THEN 600\ LET B=B+30+INT(15*(1-RND(X)^3))\ LET C=FNC(2)
580 IF B<=99 THEN 590\ LET P1=3\ GOSUB 680\ IF P1=0 THEN 200\ GO TO 170
590 PRINT "THE KICK IS ";\ LET Z2=0\ GOSUB 1160\ GO TO 780
600 PRINT "**BLOCKED** RECOVERED..";\ LET G=-INT(14*RND(X))\ GO TO 460
610 PRINT "THE PUNT IS ";\ IF RND(X)<.06 THEN 600\ LET F1=B\ LET Z2=1
620 GOSUB 1160\ LET Z3=1.3/2\ GO TO 180
630 IF RND(X)>24/100 THEN 640\ LET L=0
640 RETURN
650 LET A1=INT(A/10)\PRINT CHR$(0+A1);CHR$(0+A-A1*10);\RETURN
660 PRINT "** TOUCHDOWN**"\ LET P1=1\ LET P(S)=P(S)+6
670 LET B=130
680 PRINT "THE KICK IS ";\ IF RND(X)<(B/132)^4 THEN 690\ LET P1=0\ PRINT "NO ";
690 PRINT "GOOD"\ LET P(S)=P(S)+P1\ GOSUB 700\ GOSUB 1160\ RETURN
700 PRINT "SCORE: ME";P(1);" YOU";P(2)\ LET L=0\ IF X<5 THEN 1070
710 IF P(1)<>P(2) THEN 1000\ RETURN
720 PRINT "**SAFETY**"
730 LET P(3-S)=P(3-S)+2\ LET F1=30
740 GOSUB 1160\ GOSUB 700\ GOSUB 1250\ PRINT "FROM THE 20"\ GO TO 180
750 GOSUB 1250\ IF S=2 THEN 770\ IF S=2 THEN 770\ PRINT "ON-SIDE";\ GOSUB 1310
760 IF A1<>13 THEN 770\ LET F2=.15\ LET Z2=1\ LET O=1
770 RETURN
780 LET B=100-B
790 PRINT "RECEIVED AT ";
800 GOSUB 1180\ IF Z2*RND(X)>Z3 THEN 860
810 IF RND(X)<F2 THEN 870\ LET G=5+INT(100*RND(0))\ IF RND(0)<3*.06 THEN 830
820 LET G=INT(24*(1-RND(X)^2))
830 LET B=B+G
840 PRINT " AND RUN BACK...";\ LET L=1\ IF B>99 THEN 530\ PRINT " TO ";
850 GOSUB 1180
860 IF RND(0)>F2 THEN 1150
870 LET G=0
880 PRINT "**FUMBLE**";\ GO TO 460
890 IF S=1 THEN 900\ LET Y=INT(1+3.5*RND(0))\ RETURN
900 LET M=INT(55*RND(0)/10.5)+1\ IF (B1-B)/(5-D)<3 THEN 930
910 LET M=INT(6-4*RND(0)^2)
920 IF L*F*60>=C THEN 960
930 IF D<4 THEN 1070\ PRINT "I	LL ";\ IF B<55 THEN 980
940 IF 0<4*RND(0)-B1+B THEN 990\ PRINT "TRY FOR A FIELD GOAL"
950 LET M=7\ GO TO 1070
960 IF P(2)*U2<=P(1)*U2 THEN 930\ PRINT "TIME OUT"\ LET U2=U2-1\ GOSUB 1280
970 GOSUB 920
980 PRINT "PUNT"\ LET M=8\ GO TO 1070
990 PRINT "GO FOR IT"\GO TO 1070
1000 IF X<4 THEN 1020\ IF P(1)=P(2) THEN 1020\ PRINT "THE GAME IS OVER"
1010 PRINT "FINAL ";\ GOSUB 700\ GO TO 1350
1020 PRINT "END OF PERIOD";X\ GOSUB 700\ LET F=1-F
1030 GOSUB 1280\ LET C=900\ LET X=X+1\ IF F<>0 THEN 240\ LET S=3-K\ GO TO 160
1040 IF T1=0 THEN 1000
1050 PRINT "2 MINUTE WARNING"\ GOSUB 1280\ LET T1=0\ LET C=120\ GO TO 260
1060 LET B1=B+10\ IF B1<=100 THEN 1070\ LET B1=100
1070 RETURN
1080 LET A1=1.3*(A*RND(0)-1)-.06\ LET A=2\ IF A1>=0 THEN 1100\ LET A=1
1090 LET A1=-A1
1100 LET G=D(A,M)+SIN(A1)*(D(3,M)-D(A,M))/(3.5*COS(A1))
1110 LET G=INT(G+INT(RND(0)+.02)*100*RND(0))\ RETURN
1120 LET D=D+1\ IF D=5 THEN 1140
1130 PRINT CHR$(0+D);CHR$(Z(0,D)/256);CHR$(Z(0,D));" AND";B1-B;"  ";\GOTO 240
1140 GOSUB 1160\ LET B=100-B
1150 IF S=2 THEN 220\ PRINT "MY ";\ GO TO 230
1160 LET S=3-S\ RETURN
1170 PRINT "BALL ON ";
1180 IF B=50 THEN 1230\ LET V=50-ABS(B-50)\ LET C=FNC(6)
1190 IF S=1 THEN 1240\ IF B<50 THEN 1210
1200 PRINT "MY ";\ GO TO 1220
1210 PRINT "YOUR ";
1220 PRINT V\ RETURN
1230 PRINT "THE 50"\ RETURN
1240 IF B<50 THEN 1200\ GO TO 1210
1250 IF S=2 THEN 1260\ PRINT "YOU";\ GO TO 1270
1260 PRINT "I";
1270 PRINT " KICK OFF."\ LET F2=.06\ LET Z2=0\ RETURN
1280 LET L=0\ FOR G=1 TO 100*20\ LET H=RND(H)\ NEXT G\ PRINT \ PRINT \ RETURN
1290 IF U=0 THEN 1300\ LET U=U-1\ GOSUB 1280\ GO TO 1310
1300 PRINT "..WRONG"
1310 PRINT "?";\INPUT $A,$A1\LET A=A*256+A1
1320 INPUT $A1\IF A1=255-4*8 THEN 1310\IF A1<>141 THEN 1320
1330 PRINT \ IF A=54473 THEN 1290\ FOR A1=1 TO 13\ IF A=Z1(A1) THEN 1070
1340 NEXT A1\ GO TO 1310
1350 DATA 0,54228,0,52932,0,53956,0,54472,53973,.5,-2,.25,4,.5,13,.55
1360 DATA 50386,.4,-2,.3,7,.65,15,.75,54231,.4,-2,.3,6,.6,15,.35,54211,.65
1370 DATA -2,.65,6,.6,17,.9,53441,.4,2,.7,10,.4,27,.2,49871,.1
1380 DATA 19,.4,35,.2,100,.10,50889,53461,52943,51407,51662,49868,55749
1390 END



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search