-
Notifications
You must be signed in to change notification settings - Fork 26
Expand file tree
/
Copy pathpoker.bas
More file actions
409 lines (408 loc) · 6.51 KB
/
poker.bas
File metadata and controls
409 lines (408 loc) · 6.51 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
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
1DIMA(15),B(10)
2DEFFNA(X)=INT(10*RND(X))
3DEFFNB(X)=X-100*INT(X/100)
4PRINT"WELCOME TO THE HALLDEN CASINO. WE EACH HAVE $200"
5PRINT"I WILL OPEN THE BETTING BEFORE THE DRAWS; YOU OPEN AFTER"
6PRINT"WHEN YOU FOLD, BET 0; TO CHECK, BET .5"
7PRINT"ENOUGH TALK -- LET'S GET DOWN TO BUSINESS"
8PRINT
9LETO=1
10LETC=200
11LETS=200
12LETP=0
13RANDOM
14PRINT
15IFC<=5THEN367
16PRINT"THE ANTE IS $5. I WILL DEAL"
17PRINT
18IFS>5THEN20
19GOSUB383
20LETP=P+10
21LETS=S-5
22LETC=C-5
23FORZ=1TO10
24GOSUB174
25NEXTZ
26PRINT"YOUR HAND:"
27LETN=1
28GOSUB185
29LETN=6
30LETI=2
31GOSUB217
32PRINT
33IFI<>6THEN47
34IFFNA(0)<=7THEN37
35LETX=11100
36GOTO42
37IFFNA(0)<=7THEN40
38LETX=11110
39GOTO42
40IFFNA(0)>=1THEN45
41LETX=11111
42LETI=7
43LETZ=23
44GOTO58
45LETZ=1
46GOTO51
47IFU>=13THEN54
48IFFNA(0)>=2THEN50
49GOTO42
50LETZ=0
51LETK=0
52PRINT"I CHECK"
53GOTO62
54IFU<=16THEN57
55LETZ=2
56IFFNA(0)>=1THEN58
57LETZ=35
58LETV=Z+FNA(0)
59GOSUB348
60PRINT"I'LL OPEN WITH"V
61LETK=V
62GOSUB305
63GOSUB65
64GOTO82
65IFI<>3THEN76
66PRINT
67PRINT"I WIN"
68LETC=C+P
69PRINT"NOW I HAVE $"C" AND YOU HAVE $"S
70PRINT"DO YOU WISH TO CONTINUE";
71INPUTH$
72IFH$="YES"THEN12
73IFH$="NO"THEN410
74PRINT"ANSWER YES OR NO, IDIOT"
75GOTO70
76IFI<>4THEN81
77PRINT
78PRINT"YOUWIN"
79LETS=S+P
80GOTO69
81RETURN
82PRINT
83PRINT"NOW WE DRAW -- HOW MANY CARDS SO YOU WANT";
84INPUTT
85IFT=0THEN98
86LETZ=10
87IFT<4THEN90
88PRINT"YOU CAN'T DRAW MORE THAN THREE CARDS"
89GOTO84
90PRINT"WHAT ARE THEIR NUMBERS"
91FORQ=1TOT
92INPUTU
93GOSUB173
94NEXTQ
95PRINT"YOUR NEW HAND:"
96LETN=1
97GOSUB185
98LETZ=10+T
99FORU=6TO10
100IFINT(X/10^(U-6))<>10*INT(X/10^(U-5))THEN102
101GOSUB173
102NEXTU
103PRINT
104PRINT"I AM TAKING "Z-10-T" CARD";
105IFZ=11+TTHEN109
106PRINT"S"
107PRINT
108GOTO110
109PRINT
110LETN=6
111LETV=I
112LETI=1
113GOSUB217
114LETB=U
115LETM=D
116IFV<>7THEN119
117LETZ=28
118GOTO133
119IFI<>6THEN122
120LETZ=1
121GOTO133
122IFU>=13THEN127
123LETZ=2
124IFFNA(0)<>6THEN126
125LETZ=19
126GOTO133
127IFU>=16THEN132
128LETZ=19
129IFFNA(0)<>8THEN131
130LETZ=11
131GOTO133
132LETZ=2
133LETK=0
134GOSUB305
135IFT<>.5THEN145
136IFV=7THEN140
137IFI<>6THEN140
138PRINT"I'LL CHECK"
139GOTO146
140LETV=Z+FNA(0)
141GOSUB348
142PRINT"I'LL BET"V
143LETK=V
144GOSUB306
145GOSUB65
146PRINT
147PRINT"NOW WE COMPARE HANDS"
148LET$S=H$
149LETK$=I$
150PRINT"MY HANDS:"
151LETN=6
152GOSUB185
153LETN=1
154GOSUB217
155PRINT
156PRINT"YOU HAVE ";
157LETK=D
158GOSUB369
159LETH$=J$
160LETI$=K$
161LETK=M
162PRINT"AND I HAVE ";
163GOSUB369
164IFB>UTHEN67
165IFU>BTHEN78
166IFH$="A FLUS"THEN170
169GOTO14
170IFFNB(M)>FNB(D)THEN67
171IFFNB(D)>FNB(M)THEN78
172GOTO167
173LETZ=Z+1
174LETA(Z)=INT(1000*RND(0))
175IFINT(A(Z)/100)>3THEN174
176IFA(Z)-100*INT(A(Z)/100)>12THEN174
177FORK=1TOZ-1
178IFA(Z)=A(K)THEN174
179NEXTK
180IFZ<=10THEN184
181LETN=A(U)
182LETA(U)=A(Z)
183LETA(Z)=N
184RETURN
185FORZ=NTON+4
186PRINTZ;"-- ";
187GOSUB195;
188PRINT" OF";
189GOSUB207
190IFZ/2<>INT(Z/2)THEN192
191PRINT
192NEXTZ
193PRINT
194RETURN
195LETK=FNB(A(Z))
196IFK<>9THEN198
197PRINT"JACK";
198IFK<>10THEN200
199PRINT"QUEEN";
200IFK<>11THEN202
201PRINT"KING";
202IFK<>12THEN204
203PRINT"ACE";
204IFK=9THEN206
205PRINTK+2;
206RETURN
207LETK=INT(A(Z)/100)
208IFK<>0THEN210
209PRINT"CLUBS",
210IFK<>1THEN212
211PRINT"DIAMONDS",
212IFK<>2THEN214
213PRINT"HEARTS",
214IFK<>3THEN216
215PRINT"SPADES",
216RETURN
217LETU=0
218FORZ=NTON+4
219LETB(Z)=FNB(A(Z))
220IFZ=N+4THEN223
221IFINT(A(Z)/100)<>INT(A(Z+1)/100)THEN223
222LETU=U+1
223NEXTZ
224IFU<>4THEN231
225LETX=11111
226LETD=A(N)
227LETH$="A FLUS"
228LETI$="H IN"
229LETU=15
230RETURN
231FORZ=NTON+3
232FORK=Z+1TON+4
233IFB(Z)<=B(K)THEN239
234LETX=A(Z)
235LETA(Z)=A(K)
236LETB(Z)=B(K)
237LETA(K)=X
238LETB(K)=A(K)-100*INT(A(K)/1001
239NEXTI
240NEXTZ
241LETX=0
242FORZ=NTON+3
243IFB(Z)<>B(Z+1)THEN247
244LETX=X+11*10^((Z-N)
245LETD=A(Z)
246GOSUB276
247NEXTZ
248IFX<>0THEN262
249IFB(N)+3<>B(N+3)THEN252
250LETX=1111
251LETU=10
252IFB(N+1)+3<>B(N+4)THEN262
253IFU<>10THEN260
254LETU=14
255LETH$="STRAIG"
256LETI$="HT"
257LETX=11111
258LETD=A(N+4)
259RETURN
260LETU=10
261LETX=11110
262IFU>=10THEN269
263LETD=A(N+4)
264LETH$="SCHMAL"
265LETI$="TZ, "
266LETU=9
267LETX=11000
268GOTO274
269IFU<>10THEN272
270IFI=1THEN274
271GOTO275
272IFU>12THEN275
273IFFNB(D)>6THEN275
274LETI=6
275RETURN
276IFU>=11THEN281
277LETU=11
278LETH$="A PAIR"
279LETI$=" OF "
280RETURN
281IFU<>11THEN291
282IFB(Z)<>B(Z-1)THEN287
283LETH$="THREE"
284LETI$=" "
285LETU=13
286RETURN
287LETH$="TWO P"
288LETI$="AIR, "
289LETU=12
290RETURN
291IFU<>12THEN296
292LETU=16
293LETH$="FULL H"
294LETI$="OUSE, "
295RETURN
296IFB(Z)<>B(Z-1)THEN301
297LETU=17
298LETH$="FOUR"
299LETI$=" "
300RETURN
301LETU=16
302LETH$="FULL H"
303LETI$="OUSE, "
304RETURN
305LETG=0
306PRINT"WHAT IS YOUR BET";
307INPUTT
308IFT-INT(T)=0THEN314
309IFK<>0THEN312
310IFG<>0THEN312
311IFT=.5THEN341
312 PRINT"NO SMALL CHANGE, PLEASE"
313GOTO306
314IFS-G-T>=0THEN317
315GOSUB383
316GOTO306
317IFT<>0THEN320
318LETI=3
319GOTO338
320IFG+T>=KTHEN323
321PRINT"IF YOU CAN'T SEE MY BET, THEN FOLD"
322GOTO306
323LETG=G+T
324IFG=KTHEN338
325IFZ<>1THEN342
326IFG>5THEN330
327IFZ>2THEN335
328LETV=5
329GOTO342
330IFZ=1THEN332
331IFT<=25THEN335
332LET I=4
333PRINT"I FOLD"
334RETURN
335IFZ=2THEN343
336PRINT"I'LL SEE YOU"
337LETK=G
338LETS=S-G
339LETC=C-K
340LETP=P+G+K
341RETURN
342IFG>3+ZTHEN335
343LETV=G-K+FNA(0)
344GOSUB348
345PRINT"I'LL SEE YOU, AND RAISE YOU"V
346LETK=G+V
347GOTO306
348IFC=G-V>0THEN366
349IFG<>0THEN352
350LETV=C
351RETURN
352IFC-G>=0THEN336
353IFO/2<>INT(O/2)THEN360
354PRINT"WOULD YOU LIKE TO BUY BACK YOUR WATCH FOR $50";
355INPUTJ$
356IFJ$="NO"THEN360
357LETC=C+50
358LETO=0/2
359RETURN
360IFO/3<>INT(0/3)THEN367
361PRINT"WOULD YOU LIKE TO BUY BACK YOUR TIE TACK FOR $50";
362INPUTJ$
363IFJ$="NO"THEN367
364LETC=C+50
365LETO=0/3
366RETURN
367PRINT"I'M BUSTED. CONGRATULATIONS"
368STOP
369PRINTH$;I$
370IFH$<>"A FLUS"THEN375
371LETK=INT(K/100)
372GOSUB208
373PRINT
374RETURN
375LETK=FNB(K)
376GOSUB196
377IFH$="SCHMAL"THEN379
378IFH$<>"STRAIG"THEN381
379PRINT" HIGH"
380RETURN
381PRINT"S"
382RETURN
383PRINT
384PRINT"YOU CAN'T BET WHAT YOU HAVEN'T GOT"
385IFO/2=INT(0/2)THEN397
386PRINT"WOULD YOU LIKE TO SELL YOUR WATCH";
387INPUTJ$
388IFJ$="NO"THEN397
389IFFNA(0)>=7THEN393
390PRINT"I'LL GIVE YOU $75 FOR IT"
391LETS=S+75
392GOTO395
393PRINT"THAT'S A PRETTY CRUMMY WATCH - I'LL GIVE YOU $25"
394LETS=S+25
395LETO=0*2
396RETURN
397IFO/3=INT(O/3)THEN409
398PRINT"WILL YOU PART WITH THAT DIAMOND TIE TACK";
399INPUTJ$
400IFJ$="NO"THEN408
401IFFNA(0)>=6THEN405
402PRINT"YOU ARE NOW $100 RICHER"
403LETS=S+100
404GOTO407
405PRINT"IT'S PASTE. $25"
406LETS=S+25
407LETO=0*3
408RETURN
409PRINT"YOUR WAD IS SHOT. SO LONG, SUCKER"
410END