-
Notifications
You must be signed in to change notification settings - Fork 1
/
NeptuneLanderv6.bas
464 lines (454 loc) · 9.76 KB
/
NeptuneLanderv6.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
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
10 GOSUB 250 : poke 53269,3 : REM bit 0 = sprite 0
20 POKE 2040,170 : REM SPRITE POINT * 64 = 170 * 64 = 10880
25 POKE 2041,186
30 Y = 60 : POKE 53249,Y : POKE 53251,Y
40 X = 60 : POKE 53248,X : POKE 53250,X
50 POKE 53287,0 : POKE 53285, 15 : POKE 53286, 11 : POKE 53288,2
51 POKE 53273, PEEK(53273) OR 2 : XX = PEEK(53279)
55 FORI=0TO103:READA:POKE12*1024+I,A:NEXT : POKE53272,28
60 FOR I = 0 TO (16*64) : READ A : POKE 10880 + I, A : NEXT I
80 VV = 0 : G = 3/112 : T = 3/112 : HV = 0 : HI = 1/28 : CC = 0
90 REM FOR DE = 0 TO 32 : NEXT
95 REM ST$ = TI$
100 A = PEEK(197):TS = 186
110 IF A = 22 THEN VV = VV - T : TS=183 : GOTO 210 : REM T
120 IF A = 18 THEN HV = HV - HI : TS = 184 : REM D
130 IF A = 10 THEN HV = HV + HI : TS = 185 :REM A
140 REM IF A = 9 THEN Y=(Y+1) AND 255 : POKE 53249,Y : REM W
150 REM IF A = 12 THEN Y=(Y-1) AND 255 : POKE 53249,Y : REM Z
200 VV = VV + G : IF VV > 2 THEN VV = 2
201 IF VV < -2 THEN VV = -2
210 Y = (Y+VV) : X = (X+HV)
212 REM IF X > 320 OR X < 0 THEN X = X AND 255
213 IF Y > 255 OR Y < 0 THEN Y = Y AND 255
214 XH=INT(X/256) : XL=X-(XH*256)
215 POKE 2041,TS : POKE 53250, XL : POKE 53251, Y
216 POKE 53249, Y : POKE 53248,XL : POKE 53264, XH : REM CC=CC+1
217 REM PRINT "{clear}";Y;VV
218 CD = PEEK(53279) : POKE 53279,0
219 rem IF (CD AND 1) = 1 THEN 600
220 GOTO 90
250 REM First Level Screen layout.
260 PRINT"{clear}{white}{down*8}gg{down}bc{down}d{down}h{down}{left}j{down}h{down}{left}j{down}{left}i{down}{left}k{down}{left*2}e{down}{left*3}@a{down}{left*3}e{down}{left*2}e{down}{left}d{down}d{down}d{down}dlllk{up}{left}i";
270 PRINT"{up}{left}j{up}{left}h{up}{left}e{up}e{up}@a{up}e{up}k{up}{left}i{up}k{up}{left}i{up}lllk{up}{left}i{up}{left}d{up}{left*2}d{up}{left}@a{up}e{up}k{up}{left}i{up}f{down}dgg{down}h{down}{left}j{down}h{down}{left}j";
280 PRINT"{down}{left}i{down}{left}k{down}{left}h{down}{left}j{down}h{down}{left}j{down}{left}e{down}{left*2}e{down}{left}h{down}{left}j{down}d{down}bcllllebc{down}bc{down}d";
290 RETURN
600 IF Y = 229 OR Y = 133 OR Y = 205 THEN 610
605 GOTO 890
610 IF (X>=64 AND X<66) OR (X>=144 AND X<146) OR (X>=265 AND X<267) THEN 620
615 GOTO 890
620 REM test for landing zone 1
630 IF Y = 229 AND (X>=64 AND X<66) THEN LZ = 1 : GOTO 670
640 IF Y = 133 AND (X>=144 AND X<146) THEN LZ = 2 : GOTO 670
650 IF Y = 205 AND (X>=265 AND X<267) THEN LZ = 3 : GOTO 670
655 GOTO 890
670 PRINT "{home}well done commander."
680 GOTO 680
890 POKE 2040,176 : POKE 53287,7 : POKE 53276,1
891 FOR SP = 172 TO 181 : FOR DE = 0 TO 100 :NEXT DE : POKE 2040, SP : NEXT SP
899 GOTO 899
900 DATA 0,0,0,5,10,16,96,128 : REM CHARACTER 0
905 DATA 1,5,8,144,96,0,0,0 : REM CHARACTER 1
910 DATA 128,64,64,80,105,6,0,0 : REM CHARACTER 2
915 DATA 0,0,0,0,132,74,49,1 : REM CHARACTER 3
920 DATA 128,64,48,8,4,4,6,1 : REM CHARACTER 4
925 DATA 1,1,2,10,20,16,32,192 : REM CHARACTER 5
930 DATA 0,0,8,20,36,66,65,129 : REM CHARACTER 6
935 DATA 0,0,0,0,4,42,209,129 : REM CHARACTER 7
940 DATA 128,64,64,32,16,16,8,8 : REM CHARACTER 8
945 DATA 1,1,2,4,2,2,4,8 : REM CHARACTER 9
950 DATA 4,2,2,4,2,2,1,1 : REM CHARACTER 10
955 DATA 8,16,32,32,32,64,64,128 : REM CHARACTER 11
960 DATA 0,0,0,0,0,0,0,255 : REM CHARACTER 12
999 END
1000 REM
1010 DATA 16,0,18
1020 DATA 8,126,28
1030 DATA 5,255,204
1040 DATA 6,16,54
1050 DATA 15,159,240
1060 DATA 8,146,16
1070 DATA 8,243,240
1080 DATA 8,242,16
1090 DATA 8,244,8
1100 DATA 31,254,24
1110 DATA 32,1,244
1120 DATA 32,0,164
1130 DATA 39,128,188
1140 DATA 39,192,164
1150 DATA 31,255,252
1160 DATA 13,60,176
1170 DATA 25,195,152
1180 DATA 49,0,140
1190 DATA 48,0,12
1200 DATA 120,0,30
1210 DATA 204,0,51
1220 DATA 0
1300 REM
1305 DATA 0,0,0
1310 DATA 0,0,0
1315 DATA 0,0,0
1320 DATA 0,2,128
1325 DATA 1,2,0
1330 DATA 1,2,0
1335 DATA 2,106,64
1340 DATA 0,106,64
1345 DATA 0,169,64
1350 DATA 0,42,64
1355 DATA 0,42,128
1360 DATA 0,170,128
1365 DATA 0,170,128
1370 DATA 2,154,160
1375 DATA 2,106,80
1380 DATA 2,128,160
1385 DATA 2,0,160
1390 DATA 0,0,0
1395 DATA 0,0,0
1400 DATA 0,0,0
1405 DATA 0,0,0
1410 DATA 0
1415 REM
1420 DATA 0,0,0
1425 DATA 8,0,160
1430 DATA 8,0,64
1435 DATA 10,32,64
1440 DATA 1,165,64
1445 DATA 1,170,128
1450 DATA 2,170,128
1455 DATA 42,170,128
1460 DATA 9,170,64
1465 DATA 1,169,64
1470 DATA 1,105,64
1475 DATA 1,106,96
1480 DATA 1,106,96
1485 DATA 1,106,160
1490 DATA 2,170,128
1495 DATA 2,170,96
1500 DATA 10,85,96
1505 DATA 8,153,96
1510 DATA 40,0,8
1515 DATA 32,0,0
1520 DATA 0,0,0
1525 DATA 0
1530 REM
1535 DATA 32,2,128
1540 DATA 40,10,128
1545 DATA 8,154,10
1550 DATA 9,149,104
1555 DATA 1,169,80
1560 DATA 9,170,144
1565 DATA 169,170,144
1570 DATA 166,170,160
1575 DATA 5,106,160
1580 DATA 41,106,160
1585 DATA 9,170,160
1590 DATA 41,170,144
1595 DATA 41,170,144
1600 DATA 6,170,152
1605 DATA 6,170,152
1610 DATA 6,150,144
1615 DATA 6,101,80
1620 DATA 4,37,96
1625 DATA 40,37,40
1630 DATA 160,40,8
1635 DATA 128,32,10
1640 DATA 0
1645 REM
1650 DATA 40,2,128
1655 DATA 42,154,128
1660 DATA 9,90,128
1665 DATA 10,165,96
1670 DATA 38,170,80
1675 DATA 38,170,144
1680 DATA 170,170,160
1685 DATA 90,170,160
1690 DATA 90,106,168
1695 DATA 150,106,154
1700 DATA 38,90,150
1705 DATA 6,170,166
1710 DATA 6,170,168
1715 DATA 6,170,168
1720 DATA 5,170,88
1725 DATA 5,106,80
1730 DATA 5,90,80
1735 DATA 42,154,168
1740 DATA 24,24,40
1745 DATA 160,24,40
1750 DATA 128,32,10
1755 DATA 0
1760 REM
1765 DATA 128,8,2
1770 DATA 162,40,2
1775 DATA 41,106,138
1780 DATA 9,150,170
1785 DATA 10,166,170
1790 DATA 170,165,166
1795 DATA 86,169,164
1800 DATA 86,105,164
1805 DATA 105,101,86
1810 DATA 169,106,166
1815 DATA 41,106,166
1820 DATA 9,154,166
1825 DATA 10,150,168
1830 DATA 10,150,168
1835 DATA 10,170,160
1840 DATA 41,86,80
1845 DATA 37,102,80
1850 DATA 41,165,104
1855 DATA 160,42,10
1860 DATA 160,42,2
1865 DATA 128,40,2
1870 DATA 0
1875 REM
1880 DATA 2,168,2
1885 DATA 6,150,10
1890 DATA 5,109,184
1895 DATA 7,238,120
1900 DATA 11,235,160
1905 DATA 170,107,160
1910 DATA 150,167,224
1915 DATA 166,149,248
1920 DATA 37,166,184
1925 DATA 9,230,150
1930 DATA 9,245,170
1935 DATA 9,185,154
1940 DATA 9,190,154
1945 DATA 10,170,152
1950 DATA 9,218,120
1955 DATA 9,246,248
1960 DATA 42,154,184
1965 DATA 40,20,148
1970 DATA 40,40,164
1975 DATA 0,32,42
1980 DATA 0,32,42
1985 DATA 0
1990 REM
1995 DATA 0,0,0
2000 DATA 3,104,0
2005 DATA 2,88,148
2010 DATA 0,166,88
2015 DATA 10,246,96
2020 DATA 15,101,128
2025 DATA 31,85,192
2030 DATA 22,165,192
2035 DATA 37,94,224
2040 DATA 9,127,80
2045 DATA 9,183,144
2050 DATA 13,126,80
2055 DATA 15,125,96
2060 DATA 15,94,96
2065 DATA 15,105,64
2070 DATA 7,150,128
2075 DATA 5,155,224
2080 DATA 38,32,224
2085 DATA 0,0,0
2090 DATA 0,0,0
2095 DATA 0,0,0
2100 DATA 0
2105 REM
2110 DATA 0,0,0
2115 DATA 0,80,0
2120 DATA 0,117,80
2125 DATA 0,253,192
2130 DATA 1,95,192
2135 DATA 1,87,64
2140 DATA 3,117,80
2145 DATA 7,125,80
2150 DATA 21,125,240
2155 DATA 63,125,116
2160 DATA 29,253,84
2165 DATA 13,95,80
2170 DATA 7,245,240
2175 DATA 5,245,208
2180 DATA 21,223,208
2185 DATA 1,255,80
2190 DATA 1,80,64
2195 DATA 1,0,80
2200 DATA 0,0,16
2205 DATA 0,0,0
2210 DATA 0,0,0
2215 DATA 0
2220 REM
2225 DATA 0,0,0
2230 DATA 0,0,0
2235 DATA 0,0,0
2240 DATA 0,0,0
2245 DATA 0,1,64
2250 DATA 0,7,192
2255 DATA 1,87,192
2260 DATA 1,95,64
2265 DATA 3,215,80
2270 DATA 5,247,208
2275 DATA 5,255,192
2280 DATA 1,253,64
2285 DATA 1,117,64
2290 DATA 5,95,64
2295 DATA 7,255,64
2300 DATA 5,127,192
2305 DATA 1,245,64
2310 DATA 0,52,0
2315 DATA 0,16,0
2320 DATA 0,0,0
2325 DATA 0,0,0
2330 DATA 0
2335 REM
2340 DATA 0,0,0
2345 DATA 0,0,0
2350 DATA 0,0,0
2355 DATA 0,0,0
2360 DATA 0,0,0
2365 DATA 0,0,0
2370 DATA 0,28,0
2375 DATA 0,20,0
2380 DATA 0,85,0
2385 DATA 1,221,0
2390 DATA 1,221,0
2395 DATA 3,221,0
2400 DATA 1,95,0
2405 DATA 1,87,0
2410 DATA 0,247,0
2415 DATA 0,117,0
2420 DATA 0,81,0
2425 DATA 0,0,0
2430 DATA 0,0,0
2435 DATA 0,0,0
2440 DATA 0,0,0
2445 DATA 0
2450 REM
2455 DATA 0,0,0
2460 DATA 0,0,0
2465 DATA 0,0,0
2470 DATA 0,0,0
2475 DATA 0,0,0
2480 DATA 0,0,0
2485 DATA 0,0,0
2490 DATA 0,0,0
2495 DATA 0,17,0
2500 DATA 0,21,0
2505 DATA 0,85,0
2510 DATA 0,85,0
2515 DATA 0,85,64
2520 DATA 0,85,64
2525 DATA 0,85,64
2530 DATA 0,21,0
2535 DATA 0,5,0
2540 DATA 0,0,0
2545 DATA 0,0,0
2550 DATA 0,0,0
2555 DATA 0,0,0
2560 DATA 0
2565 REM
2570 DATA 0,0,0
2575 DATA 0,0,0
2580 DATA 0,0,0
2585 DATA 0,0,0
2590 DATA 0,0,0
2595 DATA 0,0,0
2600 DATA 0,0,0
2605 DATA 0,0,0
2610 DATA 0,0,0
2615 DATA 0,84,0
2620 DATA 0,20,0
2625 DATA 0,85,0
2630 DATA 0,84,0
2635 DATA 0,20,0
2640 DATA 0,16,0
2645 DATA 0,0,0
2650 DATA 0,0,0
2655 DATA 0,0,0
2660 DATA 0,0,0
2665 DATA 0,0,0
2670 DATA 0,0,0
2675 DATA 0
3000 REM
3005 DATA 0,0,0
3010 DATA 0,0,0
3015 DATA 0,0,0
3020 DATA 0,0,0
3025 DATA 0,0,0
3030 DATA 0,0,0
3035 DATA 0,0,0
3040 DATA 0,0,0
3045 DATA 0,0,0
3050 DATA 0,0,0
3055 DATA 0,0,0
3060 DATA 0,0,0
3065 DATA 0,0,0
3070 DATA 0,0,0
3075 DATA 0,0,0
3080 DATA 0,0,0
3085 DATA 0,60,0
3090 DATA 0,231,0
3095 DATA 0,231,0
3100 DATA 0,126,0
3105 DATA 0,60,0
3110 DATA 0
3115 REM
3120 DATA 0,0,0
3125 DATA 0,0,0
3130 DATA 0,0,0
3135 DATA 0,0,0
3140 DATA 0,0,0
3145 DATA 0,0,0
3150 DATA 0,0,0
3155 DATA 0,0,14
3160 DATA 0,0,3
3165 DATA 0,0,6
3170 DATA 0,0,0
3175 DATA 0,0,0
3180 DATA 0,0,0
3185 DATA 0,0,0
3190 DATA 0,0,0
3195 DATA 0,0,0
3200 DATA 0,0,0
3205 DATA 0,0,0
3210 DATA 0,0,0
3215 DATA 0,0,0
3220 DATA 0,0,0
3225 DATA 0
3230 REM
3235 DATA 0,0,0
3240 DATA 0,0,0
3245 DATA 0,0,0
3250 DATA 0,0,0
3255 DATA 0,0,0
3260 DATA 0,0,0
3265 DATA 0,0,0
3270 DATA 112,0,0
3275 DATA 208,0,0
3280 DATA 96,0,0
3285 DATA 0,0,0
3290 DATA 0,0,0
3295 DATA 0,0,0
3300 DATA 0,0,0
3305 DATA 0,0,0
3310 DATA 0,0,0
3315 DATA 0,0,0
3320 DATA 0,0,0
3325 DATA 0,0,0
3330 DATA 0,0,0
3335 DATA 0,0,0
3340 DATA 0
3500 REM
3505 DATA 0,0,0
3510 DATA 0,0,0
3515 DATA 0,0,0
3520 DATA 0,0,0
3525 DATA 0,0,0
3530 DATA 0,0,0
3535 DATA 0,0,0
3540 DATA 0,0,0
3545 DATA 0,0,0
3550 DATA 0,0,0
3555 DATA 0,0,0
3560 DATA 0,0,0
3565 DATA 0,0,0
3570 DATA 0,0,0
3575 DATA 0,0,0
3580 DATA 0,0,0
3585 DATA 0,0,0
3590 DATA 0,0,0
3595 DATA 0,0,0
3600 DATA 0,0,0
3605 DATA 0,0,0
3610 DATA 0