mirror of
https://github.com/rfivet/BCG101.git
synced 2024-12-17 23:56:24 -05:00
Add FOOTBL.
This commit is contained in:
parent
f96b1943c6
commit
7dcfd34c04
374
dec/FOOTBL.BAS
Normal file
374
dec/FOOTBL.BAS
Normal file
@ -0,0 +1,374 @@
|
||||
10 PRINT "THIS IS A DEMONSTRATION OF PDP-11 BASIC"
|
||||
20 PRINT "IF YOU NEED INSTRUCTIONS FOR PLAYING FOOTBALL, TYPE A 1";
|
||||
30 INPUT I
|
||||
40 IF I<>1 THEN 340
|
||||
50 PRINT
|
||||
60 PRINT
|
||||
70 PRINT "WHEN IT ASKS YOU A QUESTION TO BE ANSWERED YES OR"
|
||||
80 PRINT "NO, TYPE IN 0 FOR NO OR 1 FOR YES."
|
||||
90 PRINT
|
||||
100 PRINT "ON OFFENSE YOU HAVE THE FOLLOWING PERMITTED PLAYS:"
|
||||
110 PRINT "PLAY","CODE"
|
||||
120 PRINT "RUN","10"
|
||||
130 PRINT "PASS","11"
|
||||
140 PRINT "SWEEP","12"
|
||||
150 PRINT "SCREEN PASS","13"
|
||||
160 PRINT "LONG PASS","14"
|
||||
170 PRINT "DRAW PLAY","15"
|
||||
180 PRINT "PUNT","16"
|
||||
190 PRINT "FIELDGOAL","17"
|
||||
200 PRINT
|
||||
210 PRINT "ON DEFENSE, YOU MAY TRY ONE OF THE FOLLOWING:"
|
||||
220 PRINT "DEFENSE","CODE"
|
||||
230 PRINT "NORMAL","4","GOOD AGAINST SWEEP AND SCREEN"
|
||||
240 PRINT "HOLD","5","GOOD AGAINST RUN, PASS AND DRAW"
|
||||
250 PRINT "BLITZ","6","GOOD AGAINST PASS OR LONG PASS"
|
||||
260 PRINT "INTERCEPT","7","INCREASES THE ODDS FOR AN INTERCEPTION"
|
||||
270 PRINT "BLOCK","8","GIVES YOU A CHANCE TO BLOCK A KICK,"
|
||||
280 PRINT " "," ","BUT DECREASES THE DISTANCE RUNBACK."
|
||||
290 PRINT
|
||||
300 PRINT "TO CALL A PARTICULAR PLAY JUST TYPE ITS CODE NUMBER."
|
||||
310 PRINT "ALSO, AT ANY TIME DURING PLAY YOU MAY CALL TIME OUT"
|
||||
320 PRINT "BY TYPING A '2'. HOWEVER YOU ARE PERMITTED ONLY THREE"
|
||||
330 PRINT "TIMEOUTS PER HALF."
|
||||
340 PRINT
|
||||
350 PRINT
|
||||
360 DEF FNT(X)=SIN(X)/COS(X)
|
||||
370 DIM R(17)
|
||||
380 FOR I=0 TO 17
|
||||
390 READ R(I)
|
||||
400 NEXT I
|
||||
410 DATA 9,13,100,0,9,10,12,11,12,0,1,5,3,4,6,2,8,7
|
||||
420 RANDOMIZE
|
||||
430 LET F=0
|
||||
440 LET Z3=0
|
||||
450 LET O=0
|
||||
460 LET L=0
|
||||
470 DIM Z(5,3),P(2),D(2,5)
|
||||
480 FOR A=0 TO 5
|
||||
490 FOR B=0 TO 2
|
||||
500 READ Z(A,B),D(B,A)
|
||||
505 LET P(B)=0
|
||||
510 NEXT B
|
||||
520 READ Z(A,3)
|
||||
530 NEXT A
|
||||
540 PRINT "DO YOU WANT TO RECEIVE";
|
||||
550 LET X=1
|
||||
560 GOSUB 3610
|
||||
570 LET S=2-SGN(13-Q)
|
||||
580 LET K=S
|
||||
590 LET T1=120
|
||||
600 LET U2=3
|
||||
610 LET U=3
|
||||
620 LET C=900
|
||||
630 GOSUB 2250
|
||||
640 LET F1=50
|
||||
650 LET B=INT(F1+O*20*RND(0)+(1-O)*29*(2-RND(0)^7-RND(0)^(3-Z2)))
|
||||
660 LET O=0
|
||||
670 LET Z9=8
|
||||
680 GOSUB 1490
|
||||
690 LET L=0
|
||||
700 IF B<=99 THEN 2340
|
||||
710 PRINT "A TOUCHBACK"
|
||||
720 LET B=20
|
||||
730 LET L=0
|
||||
740 IF S=2 THEN 770
|
||||
750 PRINT "MY ";
|
||||
760 GOTO 780
|
||||
770 PRINT "YOUR ";
|
||||
780 GOSUB 3290
|
||||
790 GOSUB 2980
|
||||
800 LET D=1
|
||||
810 LET F2=.03
|
||||
820 LET O=0
|
||||
830 IF C<=0 THEN 2770
|
||||
840 GOSUB 2530
|
||||
850 LET Z2=1
|
||||
860 LET Z3=.3
|
||||
870 IF C<=F*T1 THEN 2920
|
||||
880 IF C<=0 THEN 2770
|
||||
890 IF L=0 THEN 910
|
||||
900 PRINT "TIME TO GO--";
|
||||
910 PRINT INT(C/60);"MIN.";C-60*INT(C/60);"SEC. ";
|
||||
920 PRINT "YOUR PLAY";
|
||||
930 GOSUB 3610
|
||||
940 IF S=1 THEN 980
|
||||
950 IF Q>8 THEN 920
|
||||
960 LET M=Q
|
||||
970 GOTO 1000
|
||||
980 LET Y=Q-8
|
||||
990 IF ABS(Q-10.5)^2>3 THEN 920
|
||||
1000 LET C=INT(C-L*(5+23*RND(X)))
|
||||
1010 LET L=1
|
||||
1020 IF M=7 THEN 1760
|
||||
1030 IF M=8 THEN 1920
|
||||
1040 LET Y1=Y-1
|
||||
1050 IF RND(X)>Z(M-1,Y1) THEN 1240
|
||||
1060 LET A=2
|
||||
1070 GOSUB 3020
|
||||
1080 IF M<4 THEN 1110
|
||||
1090 PRINT "PASS COMPLETE..";
|
||||
1100 LET L=SGN(INT(4*RND(0)))
|
||||
1110 IF RND(X)<F2 THEN 2510
|
||||
1120 IF G>0 THEN 1210
|
||||
1130 IF G=0 THEN 1170
|
||||
1140 IF G+B<1 THEN 2170
|
||||
1150 PRINT "LOSS OF";-G;
|
||||
1160 GOTO 1610
|
||||
1170 PRINT "NO GAIN"
|
||||
1180 LET Z9=2
|
||||
1190 GOSUB 1490
|
||||
1200 GOTO 1670
|
||||
1210 IF B+G>99 THEN 1650
|
||||
1220 PRINT "GAIN OF";G;
|
||||
1230 GOTO 1610
|
||||
1240 IF M>3 THEN 1280
|
||||
1250 LET A=1
|
||||
1260 GOSUB 3020
|
||||
1270 GOTO 1120
|
||||
1280 IF RND(X)<.06*(2-SGN(Y-3)) THEN 1360
|
||||
1290 IF RND(0)<.05+INT(Y/3.5)/5 THEN 1510
|
||||
1300 LET Z9=6
|
||||
1310 GOSUB 1490
|
||||
1320 PRINT "PASS INCOMPLETE"
|
||||
1330 LET L=0
|
||||
1340 LET G=0
|
||||
1350 GOTO 3120
|
||||
1360 PRINT "PASS **INTERCEPTED**";
|
||||
1370 LET A=1
|
||||
1380 GOSUB 3020
|
||||
1390 IF B<40 THEN 1410
|
||||
1400 LET G=20*(1+SGN(G))
|
||||
1410 LET B=100-B-G
|
||||
1420 LET S=3-S
|
||||
1430 LET Z9=9
|
||||
1440 GOSUB 1490
|
||||
1450 IF B<1 THEN 710
|
||||
1460 IF B>99 THEN 1650
|
||||
1470 PRINT "AT ";
|
||||
1480 GOTO 2360
|
||||
1490 LET C=C-INT(4+Z9/2*(1+RND(0)))
|
||||
1500 RETURN
|
||||
1510 LET G=-(5+INT(10*RND(X)))
|
||||
1520 PRINT "THE QUATERBACK ";
|
||||
1530 IF RND(X)>.5 THEN 1560
|
||||
1540 PRINT "IS THROWN FOR A ";
|
||||
1550 GOTO 1110
|
||||
1560 LET G=-(2*G+8)
|
||||
1570 LET M=5
|
||||
1580 LET A=1
|
||||
1590 PRINT "SCRAMBLES FOR A ";
|
||||
1600 GOTO 1110
|
||||
1610 LET B=B+G
|
||||
1620 PRINT "TO ";
|
||||
1630 GOSUB 3300
|
||||
1640 IF B<=99 THEN 1670
|
||||
1650 GOSUB 1990
|
||||
1660 GOTO 630
|
||||
1670 IF B1>B THEN 3120
|
||||
1680 IF B1<B THEN 1730
|
||||
1690 IF RND(0)>.5 THEN 1730
|
||||
1700 PRINT "**MEASUREMENT**"
|
||||
1710 GOSUB 3520
|
||||
1720 IF RND(X)<.5 THEN 3120
|
||||
1730 GOSUB 2980
|
||||
1740 LET D=0
|
||||
1750 GOTO 3120
|
||||
1760 IF RND(X)<.06 THEN 1890
|
||||
1770 LET B=B+30+INT(15*(1-RND(X)^3))
|
||||
1780 LET Z9=2
|
||||
1790 GOSUB 1490
|
||||
1800 IF B<=99 THEN 1850
|
||||
1810 LET P1=3
|
||||
1820 GOSUB 2030
|
||||
1830 IF P1=0 THEN 710
|
||||
1840 GOTO 630
|
||||
1850 PRINT "THE KICK IS ";
|
||||
1860 LET Z2=0
|
||||
1870 LET S=3-S
|
||||
1880 GOTO 2340
|
||||
1890 PRINT "**BLOCKED** RECOVERED..";
|
||||
1900 LET G=-INT(14*RND(X))
|
||||
1910 GOTO 1410
|
||||
1920 PRINT "THE PUNT IS ";
|
||||
1930 IF RND(X)<.06 THEN 1890
|
||||
1940 LET F1=B
|
||||
1950 LET Z2=1
|
||||
1960 LET S=3-S
|
||||
1970 LET Z3=.65
|
||||
1980 GOTO 650
|
||||
1990 PRINT "** TOUCHDOWN**"
|
||||
2000 LET P1=1
|
||||
2010 LET P(S)=P(S)+6
|
||||
2020 LET B=130
|
||||
2030 PRINT "THE KICK IS ";
|
||||
2040 IF RND(X)<(B/132)^4 THEN 2070
|
||||
2050 LET P1=0
|
||||
2060 PRINT "NO ";
|
||||
2070 PRINT "GOOD"
|
||||
2080 LET P(S)=P(S)+P1
|
||||
2090 GOSUB 2120
|
||||
2100 LET S=3-S
|
||||
2110 RETURN
|
||||
2120 PRINT "SCORE: ME";P(1);" YOU";P(2)
|
||||
2130 LET L=0
|
||||
2140 IF X<5 THEN 2160
|
||||
2150 IF P(1)<>P(2) THEN 2770
|
||||
2160 RETURN
|
||||
2170 PRINT "**SAFETY**"
|
||||
2180 LET P(3-S)=P(3-S)+2
|
||||
2190 LET F1=30
|
||||
2200 LET S=3-S
|
||||
2210 GOSUB 2120
|
||||
2220 GOSUB 3440
|
||||
2230 PRINT "FROM THE 20"
|
||||
2240 GOTO 650
|
||||
2250 GOSUB 3440
|
||||
2260 IF S=2 THEN 2330
|
||||
2270 PRINT "ON-SIDE";
|
||||
2280 GOSUB 3610
|
||||
2290 IF Q<>13 THEN 2330
|
||||
2300 LET F2=.15
|
||||
2310 LET Z2=1
|
||||
2320 LET O=1
|
||||
2330 RETURN
|
||||
2340 LET B=100-B
|
||||
2350 PRINT "RECEIVED AT ";
|
||||
2360 GOSUB 3300
|
||||
2370 IF Z2*RND(X)>Z3 THEN 2490
|
||||
2380 IF RND(X)<F2 THEN 2500
|
||||
2390 LET G=5+INT(100*RND(0))
|
||||
2400 IF RND(0)<.15 THEN 2430
|
||||
2410 LET G=INT(24*(1-RND(X)^2))
|
||||
2420 IF G=0 THEN 2490
|
||||
2430 LET B=8+G
|
||||
2440 PRINT " AND RUN BACK...";
|
||||
2450 LET L=1
|
||||
2460 IF B>99 THEN 1650
|
||||
2470 PRINT " TO ";
|
||||
2480 GOSUB 3300
|
||||
2490 IF RND(0)>F2 THEN 3260
|
||||
2500 LET G=0
|
||||
2510 PRINT "**FUMBLE**";
|
||||
2520 GOTO 1410
|
||||
2530 IF S=1 THEN 2560
|
||||
2540 LET Y=INT(1+3.5*RND(0))
|
||||
2550 RETURN
|
||||
2560 LET M=INT(55*RND(0)/10.5)+1
|
||||
2570 IF (B1-B)/(5-D)<3 THEN 2590
|
||||
2590 LET M=INT(6-4*RND(0)^2)
|
||||
2590 IF L*F*60>=C THEN 2670
|
||||
2600 IF D<4 THEN 2550
|
||||
2610 PRINT "I'LL ";
|
||||
2620 IF B<55 THEN 2720
|
||||
2630 IF 0<4*RND(0)-B1+B THEN 2750
|
||||
2640 PRINT "TRY FOR A FIELD GOAL"
|
||||
2650 LET M=7
|
||||
2660 RETURN
|
||||
2670 IF P(2)*U2<=P(1)*U2 THEN 2600
|
||||
2680 PRINT "TIME OUT"
|
||||
2690 LET U2=U2-1
|
||||
2700 GOSUB 3520
|
||||
2710 GOTO 2600
|
||||
2720 PRINT "PUNT"
|
||||
2730 LET M=8
|
||||
2740 RETURN
|
||||
2750 PRINT "GO FOR IT"
|
||||
2760 RETURN
|
||||
2770 IF X<4 THEN 2830
|
||||
2780 IF P(1)=P(2) THEN 2830
|
||||
2790 PRINT "THE GAME IS OVER"
|
||||
2800 PRINT "FINAL ";
|
||||
2810 GOSUB 2120
|
||||
2820 STOP
|
||||
2830 PRINT "END OF PERIOD";X
|
||||
2840 GOSUB 2120
|
||||
2850 LET F=1-F
|
||||
2860 GOSUB 3520
|
||||
2870 LET C=900
|
||||
2880 LET X=X+1
|
||||
2890 IF F<>0 THEN 810
|
||||
2900 LET S=3-K
|
||||
2910 GOTO 580
|
||||
2920 IF T1=0 THEN 2770
|
||||
2930 PRINT "2 MINUTE WARNING"
|
||||
2940 GOSUB 3520
|
||||
2950 LET T1=0
|
||||
2960 LET C=120
|
||||
2970 GOTO 880
|
||||
2980 LET B1=B+10
|
||||
2990 IF B1<=100 THEN 3010
|
||||
3000 LET B1=100
|
||||
3010 RETURN
|
||||
3020 LET Q=1.3*(A*RND(0)-1)-.06
|
||||
3030 LET A=1
|
||||
3040 IF Q>=0 THEN 3070
|
||||
3050 LET A=0
|
||||
3060 LET Q=-Q
|
||||
3070 LET M1=M-1
|
||||
3080 LET G=D(A,M1)+FNT(Q)*(D(2,M1)-D(A,M1))/3.5
|
||||
3090 LET G=G+INT(RND(0)+.02)*A*100*RND(0)
|
||||
3100 LET G=INT(G)
|
||||
3110 RETURN
|
||||
3120 LET D=D+1
|
||||
3130 IF D=5 THEN 3240
|
||||
3140 IF D<> 1 THEN 3160
|
||||
3150 PRINT "1ST";
|
||||
3160 IF D<>2 THEN 3180
|
||||
3170 PRINT "2ND";
|
||||
3180 IF D<>3 THEN 3200
|
||||
3190 PRINT "3RD";
|
||||
3200 IF D<4 THEN 3220
|
||||
3210 PRINT "4TH";
|
||||
3220 PRINT " AND";B1-B;" ";
|
||||
3230 GOTO 810
|
||||
3240 LET S=3-S
|
||||
3250 LET B=100-B
|
||||
3260 IF S=2 THEN 770
|
||||
3270 PRINT "MY ";
|
||||
3280 GOTO 780
|
||||
3290 PRINT "BALL ON ";
|
||||
3300 IF B=50 THEN 3400
|
||||
3310 LET V=50-ABS(B-50)
|
||||
3320 LET C=C-INT(7+3*RND(0))
|
||||
3330 IF S=1 THEN 3420
|
||||
3340 IF B<50 THEN 3370
|
||||
3350 PRINT "MY ";
|
||||
3360 GOTO 3380
|
||||
3370 PRINT "YOUR ";
|
||||
3380 PRINT V
|
||||
3390 RETURN
|
||||
3400 PRINT "THE 50"
|
||||
3410 RETURN
|
||||
3420 IF B<50 THEN 3350
|
||||
3430 GOTO 3370
|
||||
3440 IF S=2 THEN 3470
|
||||
3450 PRINT "YOU";
|
||||
3460 GOTO 3480
|
||||
3470 PRINT "I";
|
||||
3480 PRINT " KICK OFF."
|
||||
3490 LET F2=.06
|
||||
3500 LET Z2=0
|
||||
3510 RETURN
|
||||
3520 LET L=0
|
||||
3530 PRINT "TIMEOUT CALLED..."
|
||||
3540 PRINT
|
||||
3550 RETURN
|
||||
3560 IF U=0 THEN 3600
|
||||
3570 LET U=U-1
|
||||
3580 GOSUB 3520
|
||||
3590 GOTO 3610
|
||||
3600 PRINT "..WRONG, TRY AGAIN"
|
||||
3610 INPUT A
|
||||
3620 IF ABS(INT(A))>17 THEN 3600
|
||||
3630 LET Q=R(INT(ABS(A)))
|
||||
3640 IF Q=0 THEN 3600
|
||||
3650 IF Q=100 THEN 3560
|
||||
3660 RETURN
|
||||
3670 DATA .5,-2,.25,4,.5,13,.55
|
||||
3680 DATA .4,-2,.3,7,.65,15,.75
|
||||
3690 DATA .4,-2,.3,6,.6,15,.35
|
||||
3700 DATA .65,-2,.65,6,.6,17,.9
|
||||
3710 DATA .4,2,.7,10,.4,27,.2
|
||||
3720 DATA .1,19,.4,35,.2,100,.1
|
||||
3730 END
|
373
port/FOOTBL.BAS
Normal file
373
port/FOOTBL.BAS
Normal file
@ -0,0 +1,373 @@
|
||||
1 PRINT "THIS IS A DEMONSTRATION OF PDP-11 BASIC"
|
||||
2 PRINT "IF YOU NEED INSTRUCTIONS FOR PLAYING FOOTBALL, TYPE A 1";
|
||||
3 INPUT I
|
||||
4 IF I<>1 THEN 34
|
||||
5 PRINT
|
||||
6 PRINT
|
||||
7 PRINT "WHEN IT ASKS YOU A QUESTION TO BE ANSWERED YES OR"
|
||||
8 PRINT "NO, TYPE IN 0 FOR NO OR 1 FOR YES."
|
||||
9 PRINT
|
||||
10 PRINT "ON OFFENSE YOU HAVE THE FOLLOWING PERMITTED PLAYS:"
|
||||
11 PRINT "PLAY","CODE"
|
||||
12 PRINT "RUN","10"
|
||||
13 PRINT "PASS","11"
|
||||
14 PRINT "SWEEP","12"
|
||||
15 PRINT "SCREEN PASS","13"
|
||||
16 PRINT "LONG PASS","14"
|
||||
17 PRINT "DRAW PLAY","15"
|
||||
18 PRINT "PUNT","16"
|
||||
19 PRINT "FIELDGOAL","17"
|
||||
20 PRINT
|
||||
21 PRINT "ON DEFENSE, YOU MAY TRY ONE OF THE FOLLOWING:"
|
||||
22 PRINT "DEFENSE","CODE"
|
||||
23 PRINT "NORMAL","4","GOOD AGAINST SWEEP AND SCREEN"
|
||||
24 PRINT "HOLD","5","GOOD AGAINST RUN, PASS AND DRAW"
|
||||
25 PRINT "BLITZ","6","GOOD AGAINST PASS OR LONG PASS"
|
||||
26 PRINT "INTERCEPT","7","INCREASES THE ODDS FOR AN INTERCEPTION"
|
||||
27 PRINT "BLOCK","8","GIVES YOU A CHANCE TO BLOCK A KICK,"
|
||||
28 PRINT " "," ","BUT DECREASES THE DISTANCE RUNBACK."
|
||||
29 PRINT
|
||||
30 PRINT "TO CALL A PARTICULAR PLAY JUST TYPE ITS CODE NUMBER."
|
||||
31 PRINT "ALSO, AT ANY TIME DURING PLAY YOU MAY CALL TIME OUT"
|
||||
32 PRINT "BY TYPING A '2'. HOWEVER YOU ARE PERMITTED ONLY THREE"
|
||||
33 PRINT "TIMEOUTS PER HALF."
|
||||
34 PRINT
|
||||
35 PRINT
|
||||
36 DEF FNT(X)=SIN(X)/COS(X)
|
||||
37 DIM R(17)
|
||||
38 FOR I=0 TO 17
|
||||
39 READ R(I)
|
||||
40 NEXT I
|
||||
41 DATA 9,13,100,0,9,10,12,11,12,0,1,5,3,4,6,2,8,7
|
||||
42 RANDOMIZE
|
||||
43 LET F=0
|
||||
44 LET Z3=0
|
||||
45 LET O=0
|
||||
46 LET L=0
|
||||
47 DIM Z(5,3),P(2),D(2,5)
|
||||
48 FOR A=0 TO 5
|
||||
49 FOR B=0 TO 2
|
||||
50 READ Z(A,B),D(B,A)\LET P(B)=0
|
||||
51 NEXT B
|
||||
52 READ Z(A,3)
|
||||
53 NEXT A
|
||||
54 PRINT "DO YOU WANT TO RECEIVE";
|
||||
55 LET X=1
|
||||
56 GOSUB 361
|
||||
57 LET S=2-SGN(13-Q)
|
||||
58 LET K=S
|
||||
59 LET T1=120
|
||||
60 LET U2=3
|
||||
61 LET U=3
|
||||
62 LET C=900
|
||||
63 GOSUB 225
|
||||
64 LET F1=50
|
||||
65 LET B=INT(F1+O*20*RND(0)+(1-O)*29*(2-RND(0)^7-RND(0)^(3-Z2)))
|
||||
66 LET O=0
|
||||
67 LET Z9=8
|
||||
68 GOSUB 149
|
||||
69 LET L=0
|
||||
70 IF B<=99 THEN 234
|
||||
71 PRINT "A TOUCHBACK"
|
||||
72 LET B=20
|
||||
73 LET L=0
|
||||
74 IF S=2 THEN 77
|
||||
75 PRINT "MY ";
|
||||
76 GOTO 78
|
||||
77 PRINT "YOUR ";
|
||||
78 GOSUB 329
|
||||
79 GOSUB 298
|
||||
80 LET D=1
|
||||
81 LET F2=.03
|
||||
82 LET O=0
|
||||
83 IF C<=0 THEN 277
|
||||
84 GOSUB 253
|
||||
85 LET Z2=1
|
||||
86 LET Z3=.3
|
||||
87 IF C<=F*T1 THEN 292
|
||||
88 IF C<=0 THEN 277
|
||||
89 IF L=0 THEN 91
|
||||
90 PRINT "TIME TO GO--";
|
||||
91 PRINT INT(C/60);"MIN.";C-60*INT(C/60);"SEC. ";
|
||||
92 PRINT "YOUR PLAY";
|
||||
93 GOSUB 361
|
||||
94 IF S=1 THEN 98
|
||||
95 IF Q>8 THEN 92
|
||||
96 LET M=Q
|
||||
97 GOTO 100
|
||||
98 LET Y=Q-8
|
||||
99 IF ABS(Q-10.5)^2>3 THEN 92
|
||||
100 LET C=INT(C-L*(5+23*RND(X)))
|
||||
101 LET L=1
|
||||
102 IF M=7 THEN 176
|
||||
103 IF M=8 THEN 192
|
||||
104 LET Y1=Y-1
|
||||
105 IF RND(X)>Z(M-1,Y1) THEN 124
|
||||
106 LET A=2
|
||||
107 GOSUB 302
|
||||
108 IF M<4 THEN 111
|
||||
109 PRINT "PASS COMPLETE..";
|
||||
110 LET L=SGN(INT(4*RND(0)))
|
||||
111 IF RND(X)<F2 THEN 251
|
||||
112 IF G>0 THEN 121
|
||||
113 IF G=0 THEN 117
|
||||
114 IF G+B<1 THEN 217
|
||||
115 PRINT "LOSS OF";-G;
|
||||
116 GOTO 161
|
||||
117 PRINT "NO GAIN"
|
||||
118 LET Z9=2
|
||||
119 GOSUB 149
|
||||
120 GOTO 167
|
||||
121 IF B+G>99 THEN 165
|
||||
122 PRINT "GAIN OF";G;
|
||||
123 GOTO 161
|
||||
124 IF M>3 THEN 128
|
||||
125 LET A=1
|
||||
126 GOSUB 302
|
||||
127 GOTO 112
|
||||
128 IF RND(X)<.06*(2-SGN(Y-3)) THEN 136
|
||||
129 IF RND(0)<.05+INT(Y/3.5)/5 THEN 151
|
||||
130 LET Z9=6
|
||||
131 GOSUB 149
|
||||
132 PRINT "PASS INCOMPLETE"
|
||||
133 LET L=0
|
||||
134 LET G=0
|
||||
135 GOTO 312
|
||||
136 PRINT "PASS **INTERCEPTED**";
|
||||
137 LET A=1
|
||||
138 GOSUB 302
|
||||
139 IF B<40 THEN 141
|
||||
140 LET G=20*(1+SGN(G))
|
||||
141 LET B=100-B-G
|
||||
142 LET S=3-S
|
||||
143 LET Z9=9
|
||||
144 GOSUB 149
|
||||
145 IF B<1 THEN 71
|
||||
146 IF B>99 THEN 165
|
||||
147 PRINT "AT ";
|
||||
148 GOTO 236
|
||||
149 LET C=C-INT(4+Z9/2*(1+RND(0)))
|
||||
150 RETURN
|
||||
151 LET G=-(5+INT(10*RND(X)))
|
||||
152 PRINT "THE QUATERBACK ";
|
||||
153 IF RND(X)>.5 THEN 156
|
||||
154 PRINT "IS THROWN FOR A ";
|
||||
155 GOTO 111
|
||||
156 LET G=-(2*G+8)
|
||||
157 LET M=5
|
||||
158 LET A=1
|
||||
159 PRINT "SCRAMBLES FOR A ";
|
||||
160 GOTO 111
|
||||
161 LET B=B+G
|
||||
162 PRINT "TO ";
|
||||
163 GOSUB 330
|
||||
164 IF B<=99 THEN 167
|
||||
165 GOSUB 199
|
||||
166 GOTO 63
|
||||
167 IF B1>B THEN 312
|
||||
168 IF B1<B THEN 173
|
||||
169 IF RND(0)>.5 THEN 173
|
||||
170 PRINT "**MEASUREMENT**"
|
||||
171 GOSUB 352
|
||||
172 IF RND(X)<.5 THEN 312
|
||||
173 GOSUB 298
|
||||
174 LET D=0
|
||||
175 GOTO 312
|
||||
176 IF RND(X)<.06 THEN 189
|
||||
177 LET B=B+30+INT(15*(1-RND(X)^3))
|
||||
178 LET Z9=2
|
||||
179 GOSUB 149
|
||||
180 IF B<=99 THEN 185
|
||||
181 LET P1=3
|
||||
182 GOSUB 203
|
||||
183 IF P1=0 THEN 71
|
||||
184 GOTO 63
|
||||
185 PRINT "THE KICK IS ";
|
||||
186 LET Z2=0
|
||||
187 LET S=3-S
|
||||
188 GOTO 234
|
||||
189 PRINT "**BLOCKED** RECOVERED..";
|
||||
190 LET G=-INT(14*RND(X))
|
||||
191 GOTO 141
|
||||
192 PRINT "THE PUNT IS ";
|
||||
193 IF RND(X)<.06 THEN 189
|
||||
194 LET F1=B
|
||||
195 LET Z2=1
|
||||
196 LET S=3-S
|
||||
197 LET Z3=.65
|
||||
198 GOTO 65
|
||||
199 PRINT "** TOUCHDOWN**"
|
||||
200 LET P1=1
|
||||
201 LET P(S)=P(S)+6
|
||||
202 LET B=130
|
||||
203 PRINT "THE KICK IS ";
|
||||
204 IF RND(X)<(B/132)^4 THEN 207
|
||||
205 LET P1=0
|
||||
206 PRINT "NO ";
|
||||
207 PRINT "GOOD"
|
||||
208 LET P(S)=P(S)+P1
|
||||
209 GOSUB 212
|
||||
210 LET S=3-S
|
||||
211 RETURN
|
||||
212 PRINT "SCORE: ME";P(1);" YOU";P(2)
|
||||
213 LET L=0
|
||||
214 IF X<5 THEN 216
|
||||
215 IF P(1)<>P(2) THEN 277
|
||||
216 RETURN
|
||||
217 PRINT "**SAFETY**"
|
||||
218 LET P(3-S)=P(3-S)+2
|
||||
219 LET F1=30
|
||||
220 LET S=3-S
|
||||
221 GOSUB 212
|
||||
222 GOSUB 344
|
||||
223 PRINT "FROM THE 20"
|
||||
224 GOTO 65
|
||||
225 GOSUB 344
|
||||
226 IF S=2 THEN 233
|
||||
227 PRINT "ON-SIDE";
|
||||
228 GOSUB 361
|
||||
229 IF Q<>13 THEN 233
|
||||
230 LET F2=.15
|
||||
231 LET Z2=1
|
||||
232 LET O=1
|
||||
233 RETURN
|
||||
234 LET B=100-B
|
||||
235 PRINT "RECEIVED AT ";
|
||||
236 GOSUB 330
|
||||
237 IF Z2*RND(X)>Z3 THEN 249
|
||||
238 IF RND(X)<F2 THEN 250
|
||||
239 LET G=5+INT(100*RND(0))
|
||||
240 IF RND(0)<.15 THEN 243
|
||||
241 LET G=INT(24*(1-RND(X)^2))
|
||||
242 IF G=0 THEN 249
|
||||
243 LET B=8+G
|
||||
244 PRINT " AND RUN BACK...";
|
||||
245 LET L=1
|
||||
246 IF B>99 THEN 165
|
||||
247 PRINT " TO ";
|
||||
248 GOSUB 330
|
||||
249 IF RND(0)>F2 THEN 326
|
||||
250 LET G=0
|
||||
251 PRINT "**FUMBLE**";
|
||||
252 GOTO 141
|
||||
253 IF S=1 THEN 256
|
||||
254 LET Y=INT(1+3.5*RND(0))
|
||||
255 RETURN
|
||||
256 LET M=INT(55*RND(0)/10.5)+1
|
||||
257 IF (B1-B)/(5-D)<3 THEN 259
|
||||
258 LET M=INT(6-4*RND(0)^2)
|
||||
259 IF L*F*60>=C THEN 267
|
||||
260 IF D<4 THEN 255
|
||||
261 PRINT "I'LL ";
|
||||
262 IF B<55 THEN 272
|
||||
263 IF 0<4*RND(0)-B1+B THEN 275
|
||||
264 PRINT "TRY FOR A FIELD GOAL"
|
||||
265 LET M=7
|
||||
266 RETURN
|
||||
267 IF P(2)*U2<=P(1)*U2 THEN 260
|
||||
268 PRINT "TIME OUT"
|
||||
269 LET U2=U2-1
|
||||
270 GOSUB 352
|
||||
271 GOTO 260
|
||||
272 PRINT "PUNT"
|
||||
273 LET M=8
|
||||
274 RETURN
|
||||
275 PRINT "GO FOR IT"
|
||||
276 RETURN
|
||||
277 IF X<4 THEN 283
|
||||
278 IF P(1)=P(2) THEN 283
|
||||
279 PRINT "THE GAME IS OVER"
|
||||
280 PRINT "FINAL ";
|
||||
281 GOSUB 212
|
||||
282 STOP
|
||||
283 PRINT "END OF PERIOD";X
|
||||
284 GOSUB 212
|
||||
285 LET F=1-F
|
||||
286 GOSUB 352
|
||||
287 LET C=900
|
||||
288 LET X=X+1
|
||||
289 IF F<>0 THEN 81
|
||||
290 LET S=3-K
|
||||
291 GOTO 58
|
||||
292 IF T1=0 THEN 277
|
||||
293 PRINT "2 MINUTE WARNING"
|
||||
294 GOSUB 352
|
||||
295 LET T1=0
|
||||
296 LET C=120
|
||||
297 GOTO 88
|
||||
298 LET B1=B+10
|
||||
299 IF B1<=100 THEN 301
|
||||
300 LET B1=100
|
||||
301 RETURN
|
||||
302 LET Q=1.3*(A*RND(0)-1)-.06
|
||||
303 LET A=1
|
||||
304 IF Q>=0 THEN 307
|
||||
305 LET A=0
|
||||
306 LET Q=-Q
|
||||
307 LET M1=M-1
|
||||
308 LET G=D(A,M1)+FNT(Q)*(D(2,M1)-D(A,M1))/3.5
|
||||
309 LET G=G+INT(RND(0)+.02)*A*100*RND(0)
|
||||
310 LET G=INT(G)
|
||||
311 RETURN
|
||||
312 LET D=D+1
|
||||
313 IF D=5 THEN 324
|
||||
314 IF D<> 1 THEN 316
|
||||
315 PRINT "1ST";
|
||||
316 IF D<>2 THEN 318
|
||||
317 PRINT "2ND";
|
||||
318 IF D<>3 THEN 320
|
||||
319 PRINT "3RD";
|
||||
320 IF D<4 THEN 322
|
||||
321 PRINT "4TH";
|
||||
322 PRINT " AND";B1-B;" ";
|
||||
323 GOTO 81
|
||||
324 LET S=3-S
|
||||
325 LET B=100-B
|
||||
326 IF S=2 THEN 77
|
||||
327 PRINT "MY ";
|
||||
328 GOTO 78
|
||||
329 PRINT "BALL ON ";
|
||||
330 IF B=50 THEN 340
|
||||
331 LET V=50-ABS(B-50)
|
||||
332 LET C=C-INT(7+3*RND(0))
|
||||
333 IF S=1 THEN 342
|
||||
334 IF B<50 THEN 337
|
||||
335 PRINT "MY ";
|
||||
336 GOTO 338
|
||||
337 PRINT "YOUR ";
|
||||
338 PRINT V
|
||||
339 RETURN
|
||||
340 PRINT "THE 50"
|
||||
341 RETURN
|
||||
342 IF B<50 THEN 335
|
||||
343 GOTO 337
|
||||
344 IF S=2 THEN 347
|
||||
345 PRINT "YOU";
|
||||
346 GOTO 348
|
||||
347 PRINT "I";
|
||||
348 PRINT " KICK OFF."
|
||||
349 LET F2=.06
|
||||
350 LET Z2=0
|
||||
351 RETURN
|
||||
352 LET L=0
|
||||
353 PRINT "TIMEOUT CALLED..."
|
||||
354 PRINT
|
||||
355 RETURN
|
||||
356 IF U=0 THEN 360
|
||||
357 LET U=U-1
|
||||
358 GOSUB 352
|
||||
359 GOTO 361
|
||||
360 PRINT "..WRONG, TRY AGAIN"
|
||||
361 INPUT A
|
||||
362 IF ABS(INT(A))>17 THEN 360
|
||||
363 LET Q=R(INT(ABS(A)))
|
||||
364 IF Q=0 THEN 360
|
||||
365 IF Q=100 THEN 356
|
||||
366 RETURN
|
||||
367 DATA .5,-2,.25,4,.5,13,.55
|
||||
368 DATA .4,-2,.3,7,.65,15,.75
|
||||
369 DATA .4,-2,.3,6,.6,15,.35
|
||||
370 DATA .65,-2,.65,6,.6,17,.9
|
||||
371 DATA .4,2,.7,10,.4,27,.2
|
||||
372 DATA .1,19,.4,35,.2,100,.1
|
||||
373 END
|
Loading…
Reference in New Issue
Block a user