-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathhockey.bas
More file actions
229 lines (229 loc) · 5.45 KB
/
hockey.bas
File metadata and controls
229 lines (229 loc) · 5.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
10 LET A1=INT(14*RND(X)+6)
20 LET X=1
30 REM *** CONVERTED FROM BRAND X TO DIGITAL RSTS/E BY DAVID AHL
40 PRINT " N.B. THIS PROGRAM IS DESIGNED FOR THOSE WHO KNOW NOTHING"
50 PRINT " ABOUT HOCKEY LIKE MYSELF. ---- C. BUTTREY"
60 PRINT " THIS IS CORNELL U. HOCKEY."
70 PRINT " I AM CORNELL, WHO ARE YOU";
90 INPUT A$
100 PRINT
110 PRINT " YOU HAVE THREE SHOTS:"
120 PRINT " 1. SLAP SHOT."
130 PRINT " 2. FLICK SHOT."
140 PRINT " 3. WRIST SHOT."
150 PRINT
160 PRINT " HERE IS THE FACE-OFF:"
170 PRINT " SCORE:"
180 PRINT " CORNELL ";A
190 PRINT " "A$" "B
200 IF X=2 THEN 240
210 IF X=3 THEN 260
220 IF A+B >= (1/3*A1) THEN 1560
230 GOTO 290
240 IF A+B >= (2/3*A1) THEN 1630
250 GOTO 290
260 IF (A+B) >= (A1) THEN 1710
270 GOTO 290
280 IF B=3 THEN 1560
290 LET C=INT(2*RND(X)+1)
300 IF C=1 THEN 330
310 PRINT " "A$" WINS THE FACE-OFF."
320 GOTO 650
330 PRINT "CORNELL TAKES THE FACE-OFF."
340 LET D=INT(3*RND(X)+1)
350 IF D=1 THEN 500
360 IF D=2 THEN 570
370 PRINT " WRIST SHOT..."
380 LET E=INT(5*RND(X)+1)
390 IF E=4 THEN 470
400 PRINT " SHOT IS MISSED."
410 LET F=INT(2*RND(X)+1)
420 IF F=1 THEN 450
430 PRINT " CORNELL REGINS THE PUCK."
440 GOTO 340
450 PRINT " "A$" TAKES THE PUCK."
460 GOTO 650
470 PRINT " **GOOD!**"
480 LET A=A+1
490 GOTO 160
500 PRINT " SLAP SHOT..."
510 LET C1=INT(3*RND(X)+1)
520 IF C1=2 THEN 540
530 GOTO 560
540 PRINT " ICING PENALTY....."
550 GOTO 450
560 GOTO 360
570 PRINT " FLICK SHOT..."
580 LET S1=INT(3*RND(X)+1)
590 IF S1=3 THEN 610
600 GOTO 640
610 PRINT " PENALTY FOR HIGH STICKING! CORNELL MAN PUT IN BOX FOR"
620 PRINT " TWO MINUTES!"
630 GOTO 1110
640 GOTO 380
650 PRINT " YOUR SHOT";
660 INPUT G
670 IF G=1 THEN 720
680 IF G=2 THEN 900
690 IF G=3 THEN 970
\700 PRINT " INPUT EITHER '1' '2' OR '3'"
710 GOTO 650
720 PRINT " SLAP SHOT."
730 LET Z1=INT(3*RND(X)+1)
740 IF Z1=2 THEN 760
750 GOTO 780
760 PRINT " ICING PENALTY....."
770 GOTO 1090
780 LET H=INT(5*RND(X)+1)
790 IF H=1 THEN 870
800 PRINT " SHOT IS WIDE."
810 LET I=INT(2*RND(X)+1)
820 IF I=1 THEN 850
830 PRINT " CORNELL TAKES THE PUCK."
840 GOTO 990
850 PRINT " "A$" REGAINS THE PUCK."
860 GOTO 650
870 PRINT " **GOOD!**"
880 LET B=B+1
890 GOTO 160
900 PRINT " FLICK SHOT...."
910 LET B1=INT(3*RND(X)+1)
920 IF B1=1 THEN 940
930 GOTO 960
940 PRINT " ICING PENALTY....."
950 GOTO 830
960 GOTO 780
970 PRINT " WRIST SHOT.."
980 GOTO 780
990 PRINT " CORNELL SHOT:"
1000 LET J=INT(3*RND(X)+1)
1010 IF J=1 THEN 1160
1020 IF J=2 THEN 1210
1030 PRINT " SLAP SHOT."
1040 LET K=INT(5*RND(X)+1)
1050 IF K=1 THEN 1130
1060 PRINT " SHOT HITS THE POST."
1070 LET L=INT(2*RND(X)+1)
1080 IF L=1 THEN 1110
1090 PRINT " CORNELL REGINS THE PUCK."
1100 GOTO 990
1110 PRINT " "A$" REGINS THE PUCK."
1120 GOTO 1310
1130 PRINT " **GOOD!**"
1140 LET A=A+1
1150 GOTO 160
1160 PRINT " WRIST SHOT"
1170 LET M=INT(5*RND(X)+1)
1180 IF M=5 THEN 1130
1190 PRINT " SHOT IS HIGH."
1200 GOTO 1070
1210 PRINT " FLICK SHOT"
1220 LET T1=INT(3*RND(X)+1)
1230 IF T1=1 THEN 1250
1240 GOTO 1270
1250 PRINT " ICING PENALTY....."
1260 GOTO 450
1270 LET N=INT(5*RND(X)+1)
1280 IF N=1 THEN 1130
1290 PRINT " SHOT IS BLOCKED BY THE GOALIE."
1300 GOTO 1070
1310 PRINT " YOUR SHOT";
1320 INPUT O
1330 IF O=1 THEN 1430
1340 IF O=2 THEN 1540
1350 PRINT " WRIST SHOT."
1360 LET P=INT(5*RND(X)+1)
1370 IF P=2 THEN 870
1380 PRINT " SHOT IS BARELY WIDE..."
1390 LET Q=INT(3*RND(X)+1)
1400 IF Q=1 THEN 830
1410 PRINT " "A$" REGAINS THE PUCK."
1420 GOTO 650
1430 PRINT " SLAP SHOT"
1440 LET D1=INT(3*RND(X)+1)
1450 IF D1=3 THEN 1470
1460 GOTO 1500
1470 PRINT " PENALTY FOR HIGH STICKING! "A$" MAN PUT IN PENALTY"
1480 PRINT " BOX FOR TWO MINUTES"
1490 GOTO 830
1500 LET R=INT(5*RND(X)+1)
1510 IF R=1 THEN 870
1520 PRINT " SHOT IS TAKEN BY THE CORNELL GOALIE."
1530 GOTO 830
1540 PRINT " FLICK SHOT"
1550 GOTO 1500
1560 PRINT " ***** END OF FIRST PERIOD *****"
1570 LET X=2
1580 PRINT " SCORE:"
1590 PRINT " CORNELL "A
1600 PRINT " "A$" "B
1610 PRINT " START OF SECOND PERIOD."
1620 GOTO 160
1630 PRINT " ***** END OF SECOND PERIOD *****"
1640 LET X=3
1650 PRINT " SCORE:"
1660 PRINT " CORNELL "A
1670 PRINT " "A$" "B
1680 PRINT ""
1690 PRINT " START OF THIRD PERIOD."
1700 GOTO 160
1710 PRINT " ***** END OF GAME *****"
1720 IF A=B THEN 1770
1730 PRINT " FINAL SCORE:"
1740 PRINT " CORNELL "A
1750 PRINT " "A$" "B
1760 STOP
1770 PRINT " SINCE SCORE IS TIED, WE WILL HAVE TO GO"
1780 PRINT " INTO SUDDEN-DEATH!"
1790 PRINT " HERE IS THE FACE-OFF."
1800 PRINT " SCORE:"
1810 PRINT " CORNELL "A
1820 PRINT " "A$" "B
1830 LET S=INT(2*RND(X)+1)
1840 IF S=1 THEN 1870
1850 PRINT " "A$" WINS THE FACE-OFF."
1860 GOTO 2080
1870 PRINT " CORNELL WINS THE FACE-OFF."
1880 LET T=INT(3*RND(X)+1)
1890 IF T=1 THEN 2040
1900 IF T=2 THEN 2060
1910 PRINT " WRIST SHOT."
1920 LET U=INT(5*RND(X)+1)
1930 IF U=1 THEN 2010
1940 PRINT " SHOT IS MISSED."
1950 LET V=INT(2*RND(X)+1)
1960 IF V=1 THEN 1990
1970 PRINT " "A$" TAKES THE PUCK."
1980 GOTO 2080
1990 PRINT " CORNELL REGAINS THE PUCK."
2000 GOTO 1880
2010 PRINT " **GOOD!**"
2020 LET A=A+1
2030 GOTO 2260
2040 PRINT " SLAP SHOT"
2050 GOTO 1920
2060 PRINT " FLICK SHOT."
2070 GOTO 1920
2080 PRINT "Y OUR SHOT";
2090 INPUT W
2100 IF W=1 THEN 2220
2110 IF W=2 THEN 2240
2120 PRINT " WRIST SHOT."
2130 LET Y=INT(5*RND(X)+1)
2140 IF Y=4 THEN 2190
2150 PRINT " SHOT IS MISSED."
2160 LET Z=INT(2*RND(X)+1)
2170 IF Z=1 THEN 1990
2180 GOTO 1970
2190 PRINT " **GOOD!**"
2200 LET B=B+1
2210 GOTO 2260
2220 PRINT " SLAP SHOT."
2230 GOTO 2130
2240 PRINT " FLICK SHOT."
2250 GOTO 2130
2260 PRINT " GAME IS OVER!!!"
2270 PRINT " FINAL SCORE:"
2280 PRINT " CORNELL "A
2290 PRINT " "A$" "B
2300 END