1
0
mirror of https://github.com/rfivet/BCG101.git synced 2024-12-24 02:57:38 -05:00
BCG101/port/HOCKEY.BAS
2024-06-13 10:03:58 +08:00

227 lines
5.6 KiB
QBasic

1 RANDOMIZE\LET A1=INT(14*RND(X)+6)
2 LET X=1
3 REM *** CONVERTED FROM BRAND X TO DIGITAL RSTS/E BY DAVID AHL
4 PRINT " N.B. THIS PROGRAM IS DESIGNED FOR THOSE WHO KNOW NOTHING"
5 PRINT " ABOUT HOCKEY LIKE MYSELF. --- C. BUTTREY"
6 PRINT " THIS IS CORNELL U. HOCKEY."
7 PRINT " I AM CORNELL, WHO ARE YOU";
9 INPUT A$
10 PRINT
11 PRINT " YOU HAVE THREE SHOTS:"
12 PRINT " 1. SLAP SHOT."
13 PRINT " 2. FLICK SHOT."
14 PRINT " 3. WRIST SHOT."
15 PRINT
16 PRINT " HERE IS THE FACE-OFF:"
17 PRINT " SCORE:"
18 PRINT " CORNELL "A
19 PRINT " "A$" "B
20 IF X=2 THEN 24
21 IF X=3 THEN 26
22 IF A+B >= (1/3*A1) THEN 156
23 GOTO 29
24 IF A+B >= (2/3*A1) THEN 163
25 GOTO 29
26 IF (A+B) >= (A1) THEN 171
27 GOTO 29
28 IF B=3 THEN 156
29 LET C=INT(2*RND(X)+1)
30 IF C=1 THEN 33
31 PRINT " "A$" WINS THE FACE-OFF."
32 GOTO 65
33 PRINT " CORNELL TAKES THE FACE-OFF."
34 LET D=INT(3*RND(X)+1)
35 IF D=1 THEN 50
36 IF D=2 THEN 57
37 PRINT " WRIST SHOT..."
38 LET E=INT(5*RND(X)+1)
39 IF E=4 THEN 47
40 PRINT " SHOT IS MISSED."
41 LET F=INT(2*RND(X)+1)
42 IF F=1 THEN 45
43 PRINT " CORNELL REGAINS THE PUCK."
44 GOTO 34
45 PRINT " "A$" TAKES THE PUCK."
46 GOTO 65
47 PRINT " **GOOD!**"
48 LET A=A+1
49 GOTO 16
50 PRINT " SLAP SHOT..."
51 LET C1=INT(3*RND(X)+1)
52 IF C1=2 THEN 54
53 GOTO 56
54 PRINT " ICING PENALTY....."
55 GOTO 45
56 GOTO 38
57 PRINT " FLICK SHOT.."
58 LET S1=INT(3*RND(X)+1)
59 IF S1=3 THEN 61
60 GOTO 64
61 PRINT " PENALTY FOR HIGH STICKING! CORNELL MAN PUT IN BOX FOR"
62 PRINT " TWO MINUTES!"
63 GOTO 111
64 GOTO 38
65 PRINT " YOUR SHOT";
66 INPUT G
67 IF G=1 THEN 72
68 IF G=2 THEN 90
69 IF G=3 THEN 97
70 PRINT " INPUT EITHER '1' '2' OR '3'"
71 GOTO 65
72 PRINT " SLAP SHOT."
73 LET Z1=INT(3*RND(X)+1)
74 IF Z1=2 THEN 76
75 GOTO 78
76 PRINT " ICING PENALTY....."
77 GOTO 109
78 LET H=INT(5*RND(X)+1)
79 IF H=1 THEN 87
80 PRINT " SHOT IS WIDE."
81 LET I=INT(2*RND(X)+1)
82 IF I=1 THEN 85
83 PRINT " CORNELL TAKES THE PUCK."
84 GOTO 99
85 PRINT " "A$" REGAINS THE PUCK."
86 GOTO 65
87 PRINT " **GOOD!**"
88 LET B=B+1
89 GOTO 16
90 PRINT " FLICK SHOT...."
91 LET B1=INT(3*RND(X)+1)
92 IF B1=1 THEN 94
93 GOTO 96
94 PRINT " ICING PENALTY....."
95 GOTO 83
96 GOTO 78
97 PRINT " WRIST SHOT.."
98 GOTO 78
99 PRINT " CORNELL SHOT:"
100 LET J=INT(3*RND(X)+1)
101 IF J=1 THEN 116
102 IF J=2 THEN 121
103 PRINT " SLAP SHOT."
104 LET K=INT(5*RND(X)+1)
105 IF K=1 THEN 113
106 PRINT " SHOT HITS THE POST."
107 LET L=INT(2*RND(X)+1)
108 IF L=1 THEN 111
109 PRINT " CORNELL REGAINS THE PUCK."
110 GOTO 99
111 PRINT " "A$" REGAINS THE PUCK."
112 GOTO 131
113 PRINT " **GOOD!**"
114 LET A=A+1
115 GOTO 16
116 PRINT " WRIST SHOT"
117 LET M=INT(5*RND(X)+1)
118 IF M=5 THEN 113
119 PRINT " SHOT IS HIGH."
120 GOTO 107
121 PRINT " FLICK SHOT"
122 LET T1=INT(3*RND(X)+1)
123 IF T1=1 THEN 125
124 GOTO 127
125 PRINT " ICING PENALTY....."
126 GOTO 45
127 LET N=INT(5*RND(X)+1)
128 IF N=1 THEN 113
129 PRINT " SHOT IS BLOCKED BY THE GOALIE."
130 GOTO 107
131 PRINT " YOUR SHOT";
132 INPUT O
133 IF O=1 THEN 143
134 IF O=2 THEN 154
135 PRINT " WRIST SHOT."
136 LET P=INT(5*RND(X)+1)
137 IF P=2 THEN 87
138 PRINT " SHOT IS BARELY WIDE..."
139 LET Q=INT(3*RND(X)+1)
140 IF Q=1 THEN 83
141 PRINT " "A$" REGAINS THE PUCK."
142 GOTO 65
143 PRINT " SLAP SHOT"
144 LET D1=INT(3*RND(X)+1)
145 IF D1=3 THEN 147
146 GOTO 150
147 PRINT " PENALTY FOR HIGH STICKING! "A$" MAN PUT IN PENALTY"
148 PRINT " BOX FOR TWO MINUTES"
149 GOTO 83
150 LET R=INT(5*RND(X)+1)
151 IF R=1 THEN 87
152 PRINT " SHOT IS TAKEN BY THE CORNELL GOALIE."
153 GOTO 83
154 PRINT " FLICK SHOT"
155 GOTO 150
156 PRINT " ***** END OF FIRST PERIOD *****"
157 LET X=2
158 PRINT " SCORE:"
159 PRINT " CORNELL "A
160 PRINT " "A$" "B
161 PRINT " START OF SECOND PERIOD."
162 GOTO 16
163 PRINT " ***** END OF SECOND PERIOD *****"
164 LET X=3
165 PRINT " SCORE:"
166 PRINT " CORNELL "A
167 PRINT " "A$" "B
168 PRINT ""
169 PRINT " START OF THIRD PERIOD."
170 GOTO 16
171 PRINT " ***** END OF GAME *****"
172 IF A=B THEN 177
173 PRINT " FINAL SCORE:"
174 PRINT " CORNELL "A
175 PRINT " "A$" "B
176 STOP
177 PRINT " SINCE SCORE IS TIED, WE WILL HAVE TO GO"
178 PRINT " INTO SUDDEN-DEATH!"
179 PRINT " HERE IS THE FACE-OFF."
180 PRINT " SCORE:"
181 PRINT " CORNELL "A
182 PRINT " "A$" "B
183 LET S=INT(2*RND(X)+1)
184 IF S=1 THEN 187
185 PRINT " "A$" WINS THE FACE-OFF."
186 GOTO 208
187 PRINT " CORNELL WINS THE FACE-OFF."
188 LET T=INT(3*RND(X)+1)
189 IF T=1 THEN 204
190 IF T=2 THEN 206
191 PRINT " WRIST SHOT."
192 LET U=INT(5*RND(X)+1)
193 IF U=1 THEN 199
197 PRINT " "A$" TAKES THE PUCK."
198 GOTO 208
199 PRINT " CORNELL REGAINS THE PUCK."
200 GOTO 188
201 PRINT " **GOOD!**"
202 LET A=A+1
203 GOTO 226
204 PRINT " SLAP SHOT"
205 GOTO 192
206 PRINT " FLICK SHOT."
207 GOTO 192
208 PRINT " YOUR SHOT";
209 INPUT W
210 IF W=1 THEN 222
211 IF W=2 THEN 224
212 PRINT "WRIST SHOT."
213 LET Y=INT(5*RND(X)+1)
214 IF Y=4 THEN 219
215 PRINT " SHOT IS MISSED."
216 LET Z=INT(2*RND(X)+1)
217 IF Z=1 THEN 199
218 GOTO 197
219 PRINT " **GOOD!**"
220 LET B=B+1
221 GOTO 226
222 PRINT " SLAP SHOT."
223 GOTO 213
224 PRINT " FLICK SHOT."
225 GOTO 213
226 PRINT " GAME IS OVER!!"
227 PRINT " FINAL SCORE:"
228 PRINT " CORNELL "A
229 PRINT " "A$" "B
230 END