-
Notifications
You must be signed in to change notification settings - Fork 0
/
DKJR.bas
439 lines (439 loc) · 15.5 KB
/
DKJR.bas
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
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
1 V=0:B=33:S=0-RND(8): T=10*S
2 L=0
5 CLS
7 PRINT @152,"G O E S - S O F T";
10 T1$="///////////////////////////////////////////////////////"
11 T1 = PEEK(VARPTR(T1$)+1) + 256*(PEEK(VARPTR(T1$)+2))
12 FOR X=0 TO 54: READ Y: POKE T1+X, Y: NEXT X
13 DATA 191, 131, 137, 144, 160, 158, 131, 164, 128, 191
14 DATA 164, 128, 149, 170, 181, 152, 134, 128, 191, 179
15 DATA 147, 129, 130, 173, 176, 134, 128, 128, 128, 191
16 DATA 176, 140, 129, 160, 158, 131, 164, 128, 191, 164
17 DATA 128, 149, 168, 151, 131, 137, 128, 128, 128, 176
18 DATA 176, 128, 160, 176, 128
19 PRINT @284,"PRESENTS"
20 T2$="///////////////////////////////////////////////////////"
21 T2 = PEEK(VARPTR(T2$)+1) + 256*(PEEK(VARPTR(T2$)+2))
22 FOR X=0 TO 54: READ Y: POKE T2+X, Y: NEXT X
23 DATA 191, 176, 152, 129, 130, 173, 176, 134, 128, 191
24 DATA 128, 137, 149, 170, 151, 137, 164, 128, 191, 176
25 DATA 176, 144, 128, 170, 149, 128, 128, 128, 128, 191
26 DATA 131, 140, 144, 130, 173, 176, 134, 128, 191, 128
27 DATA 137, 149, 138, 181, 178, 155, 128, 128, 128, 164
28 DATA 154, 128, 149, 128, 129
30 PRINT @453, T1$;
35 PRINT @517, T2$;
40 PRINT @725,"A GAME LOOSELY BASED ON";
41 PRINT @788,"THE GAME & WATCH HANDHELD";
42 PRINT @850,"BY NINTENDO (COPYRIGHT 1983)";
45 PRINT @965,"PRESS <SPACE> TO START GAME, PRESS <I> FOR INSTRUCTIONS";
50 D$=INKEY$: IF D$=" " THEN GOTO 320
60 IF D$="I" THEN GOTO 70
65 GOTO 50
70 CLS
71 PRINT @69, T1$;
72 PRINT @133, T2$;
75 PRINT @277,"I N S T R U C T I O N S";
77 PRINT @341,"-----------------------";
80 PRINT @386,"THE PURPOSE OF THE GAME IS TO SAVE DONKEY KONG FROM THE CAGE.";
90 PRINT @451,"TO DO SO YOU MUST NAVIGATE TO THE KEY THAT OPENS THE CAGE.";
100 PRINT @513,"BUT BE AWARE OF THE CROCODILES AND BIRDS THAT TRY TO STOP YOU.";
110 PRINT @578,"YOU LOOSE A LIFE WHEN YOU GET HIT BY ONE OF THE ENEMIES.";
120 PRINT @645,"YOU CAN NAVIGATE THE FIELD BY PRESSING THE ARROW KEYS.";
130 PRINT @714,"MOVE LEFT USING <";CHR$(93);"> AND MOVE RIGHT USING <";CHR$(94);">.";
140 PRINT @774,"CLIMB A LIANA USING <";CHR$(91);"> AND LEAVE A LIANA USING <";CHR$(92);">.";
150 PRINT @835,"PRESS <SPACE> TO GO TO THE UPPER LEVEL OR TO GRAB THE KEY.";
160 PRINT @977,"PRESS <SPACE> TO START THE GAME";
170 D$=INKEY$: IF D$=" " THEN GOTO 320
180 GOTO 170
320 CLS
330 PRINT @458,"ONE MOMENT PLEASE, INITIALIZING GRAPHICS ...";
390 A$ = CHR$(91) : B$ = CHR$(10): C$ = CHR$(8) : D$ = CHR$(9)
396 D=20
397 R=23
398 K=30
399 F=0
400 S1$="/////": S2$="/////"
402 S1 = PEEK(VARPTR(S1$)+1) + 256*(PEEK(VARPTR(S1$)+2))
404 POKE S1,140: POKE S1+1,142: POKE S1+2,159: POKE S1+3,140: POKE S1+4,132
406 S2 = PEEK(VARPTR(S2$)+1) + 256*(PEEK(VARPTR(S2$)+2))
408 POKE S2,176: POKE S2+1,150: POKE S2+2,131: POKE S2+3,180: POKE S2+4,144
410 H1$="///": H2$="////": H3$="/////": H4$="///": H5$="////"
411 R1$="///": R2$="////":
412 H1 = PEEK(VARPTR(H1$)+1) + 256*(PEEK(VARPTR(H1$)+2))
414 POKE H1,144: POKE H1+1,166: POKE H1+2,144
416 H2 = PEEK(VARPTR(H2$)+1) + 256*(PEEK(VARPTR(H2$)+2))
418 POKE H2,136: POKE H2+1,145: POKE H2+2,153: POKE H2+3,153
420 H3 = PEEK(VARPTR(H3$)+1) + 256*(PEEK(VARPTR(H3$)+2))
422 POKE H3,180: POKE H3+1,178: POKE H3+2,183: POKE H3+3,176: POKE H3+4,148
424 H4 = PEEK(VARPTR(H4$)+1) + 256*(PEEK(VARPTR(H4$)+2))
426 POKE H4,144: POKE H4+1,128: POKE H4+2,144
428 H5 = PEEK(VARPTR(H5$)+1) + 256*(PEEK(VARPTR(H5$)+2))
430 POKE H5,136: POKE H5+1,145: POKE H5+2,128: POKE H5+3,153
432 R1 = PEEK(VARPTR(R1$)+1) + 256*(PEEK(VARPTR(R1$)+2))
434 POKE R1,128: POKE R1+1,166: POKE R1+2,128
436 R2 = PEEK(VARPTR(R2$)+1) + 256*(PEEK(VARPTR(R2$)+2))
438 POKE R2,128: POKE R2+1,128: POKE R2+2,153: POKE R2+3,128
440 K1$="////"
442 K1 = PEEK(VARPTR(K1$)+1) + 256*(PEEK(VARPTR(K1$)+2))
444 POKE K1,180: POKE K1+1,180: POKE K1+2,180: POKE K1+3,148
446 C1$="///////////"
448 C1 = PEEK(VARPTR(C1$)+1) + 256*(PEEK(VARPTR(C1$)+2))
450 FOR X=0 TO 10: POKE C1+X,149: NEXT X
452 C2$="///////////"
454 C2 = PEEK(VARPTR(C2$)+1) + 256*(PEEK(VARPTR(C2$)+2))
456 FOR X=0 TO 10: POKE C2+X,181: NEXT X
458 B1$="////////////////////"
460 B1 = PEEK(VARPTR(B1$)+1) + 256*(PEEK(VARPTR(B1$)+2))
462 FOR X=0 TO 19: POKE B1+X,191: NEXT X
464 B2$="/////////////"
466 B2 = PEEK(VARPTR(B2$)+1) + 256*(PEEK(VARPTR(B2$)+2))
468 FOR X=0 TO 12: POKE B2+X,145: NEXT X
470 B3$="/////////////"
472 B3 = PEEK(VARPTR(B3$)+1) + 256*(PEEK(VARPTR(B3$)+2))
474 FOR X=0 TO 12: POKE B3+X,132: NEXT X
476 V1$="///"
478 V1 = PEEK(VARPTR(V1$)+1) + 256*(PEEK(VARPTR(V1$)+2))
480 POKE V1,140: POKE V1+1,157: POKE V1+2,132
476 V2$="///"
478 V2 = PEEK(VARPTR(V2$)+1) + 256*(PEEK(VARPTR(V2$)+2))
480 POKE V2,128: POKE V2+1,153: POKE V2+2,128
490 GOSUB 5000
500 N=20
510 O=36
520 PRINT @(O/3)*64+N/2-2,S1$;
530 PRINT @(O/3)*64+N/2+62,S2$;
570 RETURN
600 IF N=40 THEN PRINT @(O/3-2)*64+N/2-1,H4$; ELSE PRINT @(O/3-2)*64+N/2-1,H1$;
610 IF N=40 THEN PRINT @(O/3-2)*64+N/2+62,H5$; ELSE PRINT @(O/3-2)*64+N/2+62,H2$;
610 PRINT @(O/3-2)*64+N/2+126,H3$;
650 RETURN
700 PRINT @(O/3)*64+N/2-2," ";
710 PRINT @(O/3)*64+N/2+62," ";
750 RETURN
800 IF N=40 THEN PRINT @(O/3-2)*64+N/2-1," "; ELSE PRINT @(O/3-2)*64+N/2-1,R1$;
810 IF N=40 THEN PRINT @(O/3-2)*64+N/2+62," "; ELSE PRINT @(O/3-2)*64+N/2+62,R2$;
820 PRINT @(O/3-2)*64+N/2+126," ";
850 RETURN
3000 GOSUB 500
3005 P=1
3010 F$=INKEY$: IF F$=D$ THEN GOTO 3100
3020 IF F$=C$ THEN GOTO 3300
3030 IF F$=A$ THEN GOTO 3500
3040 IF F$=B$ THEN GOTO 3700
3045 IF F$=" " THEN GOTO 4000
3047 GOSUB 7205: GOSUB 7620
3050 GOTO 3010
3100 IF P=11 THEN GOTO 3010
3105 IF P=12 THEN GOTO 3010
3110 IF P=2 THEN GOTO 3180
3112 IF P=6 THEN GOTO 3230
3113 IF P=8 THEN GOTO 3230
3114 IF P=10 THEN GOTO 3230
3120 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
3140 P=P+2
3150 N=N+20
3160 GOSUB 520
3163 GOSUB 7205: GOSUB 7620
3170 GOTO 3010
3180 GOSUB 800
3190 P=P+2
3195 N=N+20
3200 GOSUB 600
3205 FOR W=1 TO 50:NEXT W
3210 GOSUB 800
3215 P=P-1: GOSUB 520: GOSUB 7205: GOSUB 7620: GOTO 3010
3230 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
3240 P=P+2
3245 N=N+20
3250 GOSUB 600
3251 GOSUB 7205:GOSUB 7620
3255 GOTO 3010
3300 IF P=1 THEN GOTO 3010
3305 IF P=2 THEN GOTO 3010
3310 IF P=6 THEN GOTO 3400
3311 IF P=10 THEN GOTO 3450
3312 IF P=8 THEN GOTO 3450
3313 IF P=12 THEN GOTO 3450
3315 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
3320 P=P-2:N=N-20
3325 GOSUB 520
3326 GOSUB 7205: GOSUB 7620
3330 GOTO 3010
3400 GOSUB 800
3405 P=P-2
3410 N=N-20
3415 GOSUB 600
3420 FOR W=1 TO 50:NEXT W
3425 GOSUB 800
3430 P=P-1: GOSUB 520: GOSUB 7205: GOSUB 7620: GOTO 3010
3450 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
3460 P=P-2:N=N-20
3465 GOSUB 600
3466 GOSUB 7205: GOSUB 7620
3470 GOTO 3010
3500 IF P=2 THEN GOTO 3010
3501 IF P=6 THEN GOTO 3010
3502 IF P=8 THEN GOTO 3010
3503 IF P=10 THEN GOTO 3010
3504 IF P=12 THEN GOTO 3010
3505 IF P=3 THEN GOTO 3560
3510 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
3520 P=P+1
3530 GOSUB 600
3533 GOSUB 7205: GOSUB 7620
3540 GOTO 3010
3560 GOSUB 700
3565 P=P+1: GOSUB 600
3570 FOR W=1 TO 50:NEXT W
3575 GOSUB 800
3580 P=P-1: GOSUB 520: GOSUB 7205: GOSUB 7620: GOTO 3010
3700 IF P=1 THEN GOTO 3010
3701 IF P=3 THEN GOTO 3010
3702 IF P=5 THEN GOTO 3010
3703 IF P=7 THEN GOTO 3010
3704 IF P=9 THEN GOTO 3010
3705 IF P=11 THEN GOTO 3010
3710 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
3715 P=P-1: GOSUB 520
3716 GOSUB 7205:GOSUB 7620
3720 GOTO 3010
4000 IF P=12 THEN GOTO 4010
4005 GOTO 3010
4010 GOTO 6000
5000 CLS
5005 PRINT @82,"D O N K E Y K O N G J R";
5010 PRINT @128,B1$;: PRINT @148,B1$;: PRINT @168,B1$;: PRINT@172,B1$;
5020 PRINT @896,B1$;: PRINT @916,B1$;: PRINT @936,B1$;: PRINT@940,B1$;
5025 FOR X=192 TO 832 STEP 64: PRINT @X,CHR$(191);: PRINT@x+63,CHR$(191);: NEXT X
5030 PRINT @527,B1$;: PRINT @544,B1$;:
5040 SET(20,27):SET(21,28):SET(20,29):SET(21,30):SET(20,31)
5041 SET(21,32):SET(20,33):SET(21,34):SET(20,35)
5050 SET(60,27):SET(61,28):SET(60,29):SET(61,30):SET(60,31)
5051 SET(61,32):SET(60,33):SET(61,34):SET(60,35)
5060 SET(80,27):SET(81,28):SET(80,29):SET(81,30):SET(80,31)
5061 SET(81,32):SET(80,33):SET(81,34):SET(80,35)
5070 SET(100,27):SET(101,28):SET(100,29):SET(101,30):SET(100,31)
5071 SET(101,32):SET(100,33):SET(101,34):SET(100,35)
5080 SET(120,27):SET(121,28):SET(120,29):SET(121,30):SET(120,31)
5085 SET(121,32):SET(120,33):SET(121,34):SET(120,35)
5090 PRINT @242,B2$;: PRINT @306,B3$;
5100 SET(80,9):SET(80,10):SET(80,11):SET(81,12):SET(80,13)
5101 SET(81,14):SET(80,15):SET(81,16):SET(80,17)
5110 SET(60,9):SET(61,10):SET(60,11):SET(61,12):SET(60,13)
5111 SET(61,14):SET(60,15):SET(61,16):SET(60,17)
5115 PRINT @194,C1$;: PRINT @258,C2$;: PRINT @322,C1$;: PRINT @386,C2$;
5130 SET(30,9):SET(31,10):SET(30,11):SET(31,12):SET(30,13)
5140 SET(31,14):SET(32,14):SET(33,14):SET(34,14):SET(35,14)
5150 SET(36,14):SET(37,14):SET(38,14):SET(38,15):SET(36,15)
5160 SET(28,14):SET(30,15):SET(29,15):SET(29,13)
5161 SET(20,25):SET(21,24):SET(22,25):SET(23,24):SET(24,25)
5162 SET(25,24):SET(26,25):SET(27,24):SET(28,25):SET(29,24)
5163 FOR X=27 TO 33:SET(X,23):NEXT X
5164 FOR X=27 TO 33 STEP 2:SET(X,22):NEXT X
5165 PRINT @2,"SCORE :";V;
5166 PRINT @49,"LIVES : ";: PRINT @57,CHR$(143);: PRINT @59,CHR$(143);: PRINT @61,CHR$(143);
5170 GOTO 3000
6000 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
6005 P=13: O=18: N=100
6010 GOSUB 520
6015 GOSUB 7205
6020 F$=INKEY$: IF F$=D$ THEN GOTO 6100
6030 IF F$=C$ THEN GOTO 6300
6040 IF F$=A$ THEN GOTO 6500
6050 IF F$=B$ THEN GOTO 6700
6060 IF F$=" " THEN GOTO 6900
6065 GOSUB 7205: GOSUB 7620
6070 GOTO 6020
6100 IF P=13 THEN GOTO 6020
6105 IF P=16 THEN GOTO 6020
6110 IF P=18 THEN GOTO 6150
6115 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
6120 P=P-2: N=N+20
6125 GOSUB 520
6126 GOSUB 7205: GOSUB 7620
6127 SET(38,14): SET(38,15)
6130 GOTO 6020
6150 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
6155 P=P-2: N=N+20
6160 GOSUB 600
6161 GOSUB 7205: GOSUB 7620
6265 GOTO 6020
6300 IF P=19 THEN GOTO 6400
6305 IF P=18 THEN GOTO 6020
6310 IF P=16 THEN GOTO 6350
6315 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
6320 P=P+2: N=N-20
6325 GOSUB 520
6326 GOSUB 7205: GOSUB 7620
6330 GOTO 6020
6350 GOSUB 700:GOSUB 800
6355 P=P+2: N=N-20
6360 GOSUB 600
6361 GOSUB 7205: GOSUB 7620
6365 GOTO 6020
6400 GOSUB 700
6405 P=1: N=30: O=36
6406 GOSUB 7205: GOSUB 7620
6407 SET(38,14): SET(38,15)
6410 GOTO 3000
6500 IF P=18 THEN GOTO 6020
6505 IF P=16 THEN GOTO 6020
6510 IF P=19 THEN GOTO 6020
6515 IF P=13 THEN GOTO 6020
6520 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
6525 P=P+1
6530 GOSUB 600
6531 GOSUB 7205: GOSUB 7620
6535 GOTO 6020
6700 IF P=19 THEN GOTO 6020
6705 IF P=17 THEN GOTO 6020
6710 IF P=15 THEN GOTO 6020
6715 IF P=13 THEN GOTO 6750
6720 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
6725 P=P-1
6730 GOSUB 520
6731 GOSUB 7205: GOSUB 7620
6735 GOTO 6020
6750 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
6755 P=12: N=120: O=36
6760 GOSUB 600
6761 GOSUB 7205: GOSUB 7620
6765 GOTO 3010
6900 FOR X=13 TO 18
6903 IF P=X THEN GOTO 6020
6904 NEXT X
6905 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
6910 GOSUB 600
6920 L=L+1
6930 IF L=1 THEN GOTO 7000
6940 IF L=2 THEN GOTO 7010
6950 IF L=3 THEN GOTO 7020
6960 IF L=4 THEN GOTO 7030
7000 FOR X=14 TO 25: FOR Y=9 TO 14: RESET(X,Y): NEXT Y: NEXT X
7001 GOSUB 800
7002 V=V+10
7003 PRINT @2," ";
7004 PRINT @2,"SCORE :";V;
7005 GOSUB 7205: GOSUB 7620
7006 SET(38,14): SET(38,15): SET(39,14): SET(40,14): SET(40,15)
7009 GOTO 3000
7010 FOR X=3 TO 14: FOR Y=9 TO 14: RESET(X,Y): NEXT Y: NEXT X
7011 GOSUB 800
7012 V=V+10
7013 PRINT @2," ";
7014 PRINT @2,"SCORE :";V;
7015 GOSUB 7205: GOSUB 7620
7016 SET(38,14): SET(38,15): SET(39,14): SET(40,14): SET(40,15)
7019 GOTO 3000
7020 FOR X=14 TO 25: FOR Y=14 TO 20: RESET(X,Y): NEXT Y: NEXT X
7021 GOSUB 800
7022 V=V+10
7023 PRINT @2," ";
7024 PRINT @2,"SCORE :";V;
7025 GOSUB 7205: GOSUB 7620
7026 SET(38,14): SET(38,15): SET(39,14): SET(40,14): SET(40,15)
7029 GOTO 3000
7030 FOR X=3 TO 14: FOR Y=14 TO 20: RESET(X,Y): NEXT Y: NEXT X
7036 V=V+20
7037 PRINT @2," ";
7038 PRINT @2,"SCORE :";V;
7040 FOR X=1 TO 3
7041 PRINT @194,C1$;: PRINT @258,C2$;: PRINT @322,C1$;: PRINT @386,C2$;
7042 FOR W=1 TO 50: NEXT W
7043 PRINT @194," ";: PRINT @258," ";: PRINT @322," ";: PRINT @386," ";
7044 FOR W=1 TO 50: NEXT W
7045 NEXT X
7046 GOSUB 800
7047 PRINT @194,C1$;: PRINT @258,C2$;: PRINT @322,C1$;: PRINT @386,C2$;
7049 L=0: SET(38,14): SET(38,15): SET(39,14): SET(40,14): SET(40,15)
7050 GOTO 3000
7100 PRINT @((R-2)/3)*64+K/2-2,K1$;
7107 RETURN
7110 PRINT @((R-2)/3)*64+K/2-2," ";
7117 RETURN
7205 IF D=13 THEN GOTO 7280
7207 IF D=1 THEN GOTO 7320
7210 IF D<=12 THEN GOTO 7300
7215 IF P=D AND NOT(INT(P/2)*2=P) THEN GOTO 7225
7220 GOSUB 7110
7221 D=D-1: K=K+10
7222 GOSUB 7100
7223 IF P=D AND NOT(INT(P/2)*2=P) THEN GOTO 7225
7224 RETURN
7225 F=F+1
7226 IF F=1 THEN GOTO 7250
7227 IF F=2 THEN GOTO 7260
7228 IF F=3 THEN GOTO 7270
7250 PRINT @61," ";
7251 FOR X=1 TO 5
7252 IF INT(P/2)*2=P THEN GOSUB 600: FOR W=1 TO 25: GOSUB 800: ELSE GOSUB 520: FOR W=1 TO 25: NEXT W: GOSUB 700
7253 IF INT(P/2)*2=P THEN GOSUB 7600: FOR W=1 TO 25: GOSUB 7610: ELSE GOSUB 7100: FOR W=1 TO 25: NEXT W: GOSUB 7110
7254 NEXT X
7255 GOSUB 7110: GOSUB 7610
7256 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
7257 N=20: O=36: P=1: R=23: K=30: D=20: S=0-RND(8): T=10*S: GOSUB 7100: GOTO 3000
7260 PRINT @59," ";
7261 FOR X=1 TO 5
7262 IF INT(P/2)*2=P THEN GOSUB 600: FOR W=1 TO 25: GOSUB 800: ELSE GOSUB 520: FOR W=1 TO 25: NEXT W: GOSUB 700
7263 IF INT(P/2)*2=P THEN GOSUB 7600: FOR W=1 TO 25: GOSUB 7610: ELSE GOSUB 7100: FOR W=1 TO 25: NEXT W: GOSUB 7110
7264 NEXT X
7265 GOSUB 7110: GOSUB 7610
7266 IF INT(P/2)*2=P THEN GOSUB 800 ELSE GOSUB 700
7269 N=20: O=36: P=1: R=23: K=30: D=20: S=0-RND(8): T=10*S: GOSUB 7100: GOTO 3000
7270 FOR X=1 TO 5
7272 IF INT(P/2)*2=P THEN GOSUB 600: FOR W=1 TO 25: GOSUB 800: ELSE GOSUB 520: FOR W=1 TO 25: NEXT W: GOSUB 700
7273 IF INT(P/2)*2=P THEN GOSUB 7600: FOR W=1 TO 25: GOSUB 7610: ELSE GOSUB 7100: FOR W=1 TO 25: NEXT W: GOSUB 7110
7274 NEXT X
7275 PRINT @57," ";
7276 PRINT @980," G A M E O V E R ";
7277 GOTO 7340
7280 IF P=D AND NOT(INT(P/2)*2=P) THEN GOTO 7225
7281 GOSUB 7110
7282 D=D-2: R=41
7283 K=120
7284 GOSUB 7100
7285 IF P=D AND NOT(INT(P/2)*2=P) THEN GOTO 7225
7286 RETURN
7300 IF P=D AND NOT(INT(P/2)*2=P) THEN GOTO 7225
7302 GOSUB 7110
7305 D=D-1: K=K-10
7310 GOSUB 7100
7312 IF P=D AND NOT(INT(P/2)*2=P) THEN GOTO 7225
7315 RETURN
7320 IF P=D AND NOT(INT(P/2)*2=P) THEN GOTO 7225
7321 GOSUB 7110
7325 D=20: R=23: K=30
7326 GOSUB 7100
7327 IF P=D AND NOT(INT(P/2)*2=P) THEN GOTO 7225
7328 RETURN
7340 PRINT @980,"PRESS <SPACE> FOR NEW GAME";
7340 FOR W=1 TO 150
7345 D$=INKEY$: IF D$=" " THEN GOTO 7390
7347 NEXT W
7340 PRINT @980," G A M E O V E R ";
7340 FOR W=1 TO 150
7345 D$=INKEY$: IF D$=" " THEN GOTO 7390
7347 NEXT W
7349 GOTO 7340
7390 V=0: L=0: F=0: D=20: R=23: K=30: N=20: O=36: P=1: S=0-RND(8): T=10*S: CLS: GOTO 390
7600 PRINT @(B/3)*64+T/2-1,V1$;
7605 RETURN
7610 IF NOT(INT(S/2)*2=S) OR S=4 THEN PRINT @(B/3)*64+T/2-1," "; ELSE PRINT @(B/3)*64+T/2-1,V2$;
7615 RETURN
7620 IF S=12 THEN GOTO 7670
7625 IF S<=0 THEN GOTO 7700
7630 IF P=S AND INT(P/2)*2=P THEN GOTO 7225
7635 GOSUB 7610
7640 S=S+1: T=T+10
7645 IF P=S AND INT(P/2)*2=P THEN GOTO 7225
7650 GOSUB 7600
7655 RETURN
7670 IF P=S AND INT(P/2)*2=P THEN GOTO 7225
7675 GOSUB 7610
7680 S=0-RND(8): T=10*S
7690 RETURN
7700 S=S+1: T=T+10
7710 IF S=1 THEN GOSUB 7600
7720 RETURN
8000 FOR W=1 TO 5000:NEXT W