-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathTIJDMACH.BAS
619 lines (619 loc) · 25.2 KB
/
TIJDMACH.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
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
10 GOTO 1000:REM Basicode-2 subroutines
20 CLEAR:IN$=" ":SR=0:SR$="":CT=0:CN=0:OHT%=80:OVT%=24
22 KEY OFF:SCREEN 0:WIDTH OHT%:COLOR 7,0,0:CLS:RANDOMIZE TIMER*100
29 GOTO 1010
100 CLS:RETURN
110 GOSUB 111:LOCATE OVE%+1,OHO%+1:RETURN
111 OVE%=INT(VE):OHO%=INT(HO)
112 IF OVE%<0 THEN OVE%=0 ELSE IF OVE%>=OVT% THEN OVE%=OVT%-1
113 IF OHO%<0 THEN OHO%=0 ELSE IF OHO%>=OHT% THEN OHO%=OHT%-1
114 RETURN
120 HO=POS(0)-1:VE=CSRLIN-1:RETURN
200 IN$=INKEY$:RETURN
210 IN$=INPUT$(1):RETURN
250 BEEP:RETURN
260 RV=RND:RETURN
270 FR=FRE(""):RETURN
300 SR$=MID$(STR$(ABS(SR)),2):IF LEFT$(SR$,1)="." THEN SR$="0"+SR$
301 IF SR<0 THEN SR$="-"+SR$
302 RETURN
310 O#=ABS(SR)+.5*10^-CN:O!=INT(O#):O#=1+O#-O!:O$=""
311 IF CN THEN O$="."+STRING$(CN,48):IF O#>1 THEN MID$(O$,1)=MID$(STR$(O#),3)
312 O$=MID$(STR$(O!),2)+O$:IF VAL(O$)>0 AND SR<0 THEN O$="-"+O$
313 IF LEN(O$)<=CT THEN SR$=SPACE$(CT-LEN(O$))+O$:RETURN
314 SR$=STRING$(CT,42):RETURN
350 LPRINT SR$;:RETURN
360 LPRINT:RETURN
1000 A = 400: GOTO 20: REM DE TIJDMACHINE
1010 DIM D(42, 10): AO = 16: DIM G$(AO), G(AO)
1020 GOSUB 10000: E$ = "KIJK"
1100 PT = PT - 1: IF P = 6 THEN BL = BL + 1
1110 DK = DR
1120 IF LP <> 1 THEN 1130
1125 L$ = "": I$ = "0": GOSUB 12000: IF W = -1 THEN 4100
1130 IF P <> 6 THEN 1140
1132 IF BL > 8 THEN PRINT"De geur van de bloemen bedwelmt je."
1133 IF BL > 8 THEN 3990
1134 IF BL < 6 THEN 1140
1135 PRINT" De vreemde, witte bloemen ruiken"
1136 PRINT"heel eigenaardig...": L$ = "witte bloemen"
1140 IF PT <= 0 THEN 3990
1145 IF LP = 0 THEN 1370
1150 IF W + VP = 2 THEN PRINT" Weena loopt met je mee.": WP = P
1155 GOSUB 260: LM = RV
1160 IF DK = 1 THEN 14000
1170 IF P = 0 THEN P = 6: LP = 1: VP = 0: GOTO 1100
1180 IF P = -1 THEN P = 4: LP = 1: VP = 0: GOTO 1100
1185 IF P = -2 THEN P = ZX: LP = 1: VP = 0: GOTO 1100
1190 S = 0: IF(WP = P) AND(W = 0) THEN S = 2
1200 VP = 0: FOR A = 1 TO AO
1210 IF((G(A) <> P) OR(A - 1 + SC = 0)) AND(S <> 2) THEN 1250
1220 IF S <> 1 THEN PRINT" Je ziet hier:": S = S + 1
1230 IF S = 3 THEN S = 1: PRINT"Weena": W = 1: GOTO 1250
1240 PRINT G$(A)
1250 NEXT A
1270 PRINT" Mogelijke uitgangen zijn:"
1280 FOR A = 1 TO 10
1290 IF D(P, A) = 0 THEN 1310
1300 GOSUB 19000: PRINT" ";
1310 NEXT A: PRINT
1320 IF L = 0 THEN 1370
1330 GOSUB 260: IF RV > .05 THEN 1370
1340 PRINT" Een plotselinge windvlaag blaast de"
1350 PRINT"lamp uit.": L = 0
1370 IF DK = 1 THEN PRINT" De draak kijkt je woest en hongerig"
1372 IF DK = 1 THEN PRINT"aan."
1373 Q$ = " Je bent "
1374 IF PT >= 5 THEN 1380
1375 PRINT Q$; "uitgeput en erg verzwakt. Je"
1378 PRINT"kunt geen stap meer verzetten.": GOTO 1400
1380 IF PT < 8 THEN PRINT Q$; "erg hongerig.": GOTO 1400
1390 IF PT < 11 THEN PRINT Q$; "vermoeid en hongerig.": GOTO 1400
1396 IF PT >= 15 THEN 1400
1397 PRINT" Je zou zo zoetjesaan eens aan een"
1398 PRINT"maaltijd moeten gaan denken."
1400 IF(P = 2) AND(W = 1) THEN 5000
1405 IF LP = 0 THEN 1420
1410 PRINT"======================================="
1420 PRINT: IF E$ <> "" THEN LP = 0: GOTO 1427
1425 PRINT"Wat wil je doen?": INPUT E$: LP = 0: CP = 0
1427 GOSUB 18000: CP = 1: IF C$ = "" THEN 1425
1430 D$ = MID$(C$ + " ", 1, 3)
1440 A$ = "N NO O ZO Z ZW W NW OP NEE"
1450 B$ = "n no o zo z zw w nw op nee"
1460 GOSUB 16000: IF C = 0 THEN 1520
1470 IF D(P, C) = 0 THEN PRINT"Daar kun je niet heen.": GOTO 3800
1480 IF PT < 5 THEN 1510
1490 ZX = P: P = D(P, C): LP = 1: VP = 1: IF P = 30 THEN W = 0
1500 A = C: PRINT"Je gaat ";
1502 IF A < 9 THEN PRINT"naar het ";
1505 GOSUB 19000: IF A < 9 THEN PRINT"en.";
1506 PRINT: FOR A = 1 TO 500: NEXT A: GOTO 1100
1510 PRINT"Je bent te zwak om te lopen.": E$ = "": GOTO 1400
1520 A$ = "KIJOPELAMINVPAKLEGEETONDSTOHEL"
1530 B$ = "kijopelaminvpaklegeetondstohel"
1540 GOSUB 16000: IF C = 0 THEN 1610
1550 IF C = 1 THEN LP = 1
1555 IF C > 5 THEN 1570
1560 ON C GOTO 1100, 2000, 2100, 2200, 2300
1570 ON C - 5 GOTO 2400, 2500, 2800, 6000, 7000
1610 PRINT"Ik begrijp je niet.": E$ = "": GOTO 1400
2000 IF P = 2 THEN 2010
2002 IF P = 6 THEN 2040
2004 IF P = 25 THEN 2080
2006 PRINT"Je kunt hier niets openen.": GOTO 3800
2010 IF BK <> 1 THEN 2006
2015 PRINT"De brandkast heeft een nummerslot."
2020 PRINT"Welke combinatie wil je proberen?"
2025 PRINT">>>"; : INPUT CO
2030 IF BC <> CO THEN PRINT"De combinatie is fout.": GOTO 1100
2031 PRINT"Het slot klikt zachtjes, en de brand-"
2032 PRINT"kast gaat open. Binnen ligt een kris-"
2033 PRINT"tallen staaf."
2034 G(2) = P: BK = 2: GOTO 1100
2040 IF G(8) <> 0 THEN 2060
2045 PRINT"Je forceert het paneel met het breek-"
2050 PRINT"ijzer. Het paneel is open."
2055 LP = 1: D(P, 1) = 5: GOSUB 15000: GOTO 1100
2060 PRINT"Je probeert het paneel open te breken."
2070 PRINT"Met je blote handen gaat het in ieder"
2075 PRINT"geval niet.": GOTO 1100
2080 IF G(10) = 0 THEN 2090
2085 PRINT"De deur zit op slot.": GOTO 1100
2090 PRINT"Je maakt de deur open met de sleutel."
2095 LP = 1: D(P, 9) = 26: GOSUB 15000: GOTO 1100
2100 IF LEN(C$) <> 8 THEN 1610
2110 D$ = MID$(C$, 6, 3)
2120 IF(D$ = "AAN") OR(D$ = "aan") THEN 2150
2130 IF(D$ <> "UIT") AND(D$ <> "uit") THEN 1610
2135 IF G(11) <> 0 THEN 2155
2140 IF L = 0 THEN PRINT"De lamp was al uit.": GOTO 1100
2145 L = 0: PRINT"O.K.": GOTO 1100
2150 IF L = 1 THEN PRINT"De lamp was al aan.": GOTO 1100
2155 IF G(11) <> 0 THEN PRINT"Je hebt geen lamp.": GOTO 3800
2156 IF G(14) <> 0 THEN PRINT"Je hebt geen lucifers.": GOTO 3800
2157 IF(P < 35) OR(P = 42) OR(LM > .4) THEN 2160
2158 PRINT"Het waait nu te hard om de lamp aan"
2159 PRINT"te steken.": GOTO 3800
2160 L = 1: PRINT"O.K.": GOTO 1100
2200 PRINT"Je hebt bij je:": S = 0
2210 FOR A = 1 TO AO: IF G(A) <> 0 THEN 2230
2220 S = 1: PRINT" "; G$(A)
2230 NEXT A
2240 IF S = 0 THEN PRINT" Niets."
2250 GOTO 1100
2300 S = 0: B = 0: Q = -1: FOR A = 1 TO AO
2310 IF G(A) = P THEN S = S + 1: Q = A
2315 IF G(A) = 0 THEN B = B + 1
2320 NEXT A: M = SGN(LEN(L$))
2325 IF B >= 4 THEN PRINT"Je kunt niets meer dragen.": GOTO 3800
2330 IF S + M = 0 THEN PRINT"Er ligt hier niets.": GOTO 3800
2340 IF S + M = 1 THEN 2390
2345 PRINT"Wat wil je pakken:"
2350 I = 1: FOR Q = 1 TO S
2355 IF G(I) <> P THEN I = I + 1: GOTO 2355
2360 PRINT" "; Q; ": "; G$(I): I = I + 1: NEXT Q
2362 IF M <> 0 THEN PRINT" "; Q; ": "; L$
2365 GOSUB 17000
2370 IF(V < 1) OR(V > S + M) THEN PRINT"Je pakt niets.": GOTO 1100
2372 IF V > S THEN PRINT"Je kunt dat niet pakken.": GOTO 3800
2375 I = 1: FOR Q = 1 TO V
2380 IF G(I) <> P THEN I = I + 1: GOTO 2380
2385 I = I + 1: NEXT Q: Q = I - 1
2390 IF(Q = 1) AND(SC = 0) THEN S = 0: GOTO 2330
2391 IF Q = -1 THEN V = 9: GOTO 2372
2392 IF Q = 15 THEN PRINT"Het is te zwaar.": GOTO 3800
2394 PRINT"Je pakt: "; G$(Q)
2396 G(Q) = 0: GOTO 1100
2400 S = 0: FOR A = 1 TO AO
2410 IF G(A) = 0 THEN S = S + 1: Q = A
2420 NEXT A
2430 IF S = 0 THEN PRINT"Je hebt niets.": E$ = "": GOTO 1400
2440 IF S = 1 THEN 2490
2441 PRINT"Wat wil je neerleggen?": I = 1: FOR Q = 1 TO S
2445 IF G(I) <> 0 THEN I = I + 1: GOTO 2445
2450 PRINT" "; Q; ": "; G$(I): I = I + 1
2455 NEXT Q
2460 GOSUB 17000
2465 IF(V < 1) OR(V > S) THEN PRINT"Je doet niets.": GOTO 1400
2470 I = 1: FOR Q = 1 TO V
2475 IF G(I) <> 0 THEN I = I + 1: GOTO 2475
2480 I = I + 1: NEXT Q: Q = I - 1
2490 PRINT"O.K.": G(Q) = P
2491 DE = 0: IF(Q = 3) OR(Q = 5) OR(Q = 13) THEN DE = 1
2492 IF(DE = 1) AND(DR = 1) THEN 3200
2493 IF Q = 11 THEN L = 0
2495 IF(P > 29) AND(P < 33) THEN 3500
2496 IF Q <> 6 THEN 1100
2497 PRINT"Je zet de urn wat onhandig neer. De urn"
2498 PRINT"valt in scherven uiteen."
2499 G(6) = -1: G(9) = P: GOTO 1100
2500 IF G(13) = 0 THEN PRINT"Je eet de "; G$(13): GOTO 3100
2505 IF G(3) = 0 THEN PRINT"Je eet het ontbijt.": GOTO 2530
2510 IF G(5) <> 0 THEN PRINT"Je hebt niets om te eten.": GOTO 3800
2515 PRINT"Je eet de vruchten."
2520 G(5) = -1: GOTO 2540
2530 G(3) = -1
2540 PT = 100: GOTO 1100
2600 IF SC = 1 THEN 2870
2605 PRINT"Je haalt het schilderij weg.": SC = 1
2610 PRINT"Achter het schilderij zie je een"
2620 PRINT"brandkast.": BK = 1
2630 GOTO 1100
2700 PRINT"Je leest ze vluchtig door. Je ziet"
2710 PRINT"ingewikkelde formules, en kreten als"
2720 PRINT"'vierde dimensie', en 'ruimte-tijd-"
2730 PRINT"continuum', en getallen, zoals 4536,"
2740 PRINT"7285,"; BC; ", 1435": GOTO 1100
2800 S = 0: FOR A = 1 TO AO
2802 IF(G(A) = 0) OR(G(A) = P) THEN S = S + 1: Q = A
2804 NEXT A
2805 LL = LEN(L$)
2806 IF S + LL = 0 THEN PRINT"Je hebt niets.": GOTO 3800
2807 IF S = 0 THEN 3400
2808 IF(S = 1) AND(LL = 0) THEN 2850
2810 PRINT"Wat wil je onderzoeken?"
2812 I = 1: FOR A = 1 TO S
2814 IF(G(I) <> 0) AND(G(I) <> P) THEN I = I + 1: GOTO 2814
2816 PRINT" "; A; ": "; G$(I): I = I + 1
2818 NEXT A: IF L$ <> "" THEN PRINT" "; A; ": "; L$: S = A
2819 GOSUB 17000
2820 IF(V < 1) OR(V > S) THEN PRINT"Je doet niets.": GOTO 3800
2822 IF V + SGN(LEN(L$)) > S THEN 3400
2824 Q = 0: FOR A = 1 TO V: Q = Q + 1
2825 IF(G(Q) <> 0) AND(G(Q) <> P) THEN Q = Q + 1: GOTO 2825
2826 NEXT A
2850 PRINT"Je onderzoekt: "; G$(Q): PRINT
2851 IF Q = 1 THEN 2600
2855 IF Q = 4 THEN 2700
2860 IF Q = 9 THEN 2900
2865 IF Q = 7 THEN 3000
2866 IF Q = 13 THEN 3300
2867 IF Q = 15 THEN 3700
2870 PRINT"Je ziet niets bijzonders.": GOTO 1100
2900 PRINT"Tussen de scherven ligt een kleine"
2910 PRINT"sleutel.": G(10) = P: GOTO 1100
3000 PRINT"Het boek is heel erg oud en stoffig. Je"
3010 PRINT"kunt nog net de titel ontcijferen:"
3020 PRINT"'The Time Machine', door HG Wells.": GOTO 1100
3100 PRINT"De "; G$(13); " is vergiftigd.": PT = 0
3110 GOTO 1140
3200 G(Q) = -1: IF Q = 13 THEN 3210
3202 PRINT"De draak eet ";
3204 IF Q = 3 THEN PRINT"het op."
3206 IF Q = 5 THEN PRINT"ze op."
3208 GOTO 1100
3210 PRINT"De draak eet de "; G$(13); " op."
3215 PRINT" De taart is vergiftigd. Met zijn"
3220 PRINT"laatste ademtocht slaakt hij een ver-"
3225 PRINT"schrikkelijke kreet, en sterft."
3230 G(15) = P: DR = 2: I$ = "0": GOTO 1100
3300 PRINT"De taart ruikt naar amandelen.": GOTO 1100
3400 PRINT"Je onderzoekt: "; L$: PRINT
3401 IF(L$ = "paneel") AND(D(6, 1) = 0) THEN 3430
3402 IF L$ = "put" THEN 3440
3403 IF L$ = "luik" THEN 3710
3404 IF L$ = "witte bloemen" THEN 3750
3405 IF L$ = "tijdmachine" THEN 3720
3406 IF L$ <> "vitrine" THEN 2870
3409 IF G(14) <> -1 THEN 2870
3410 PRINT"In de "; L$; " ligt een doosje lucifers."
3420 G(14) = P: GOTO 1100
3430 PRINT"Het paneel zit goed dicht. Je ziet aan"
3435 PRINT"de linkerkant een scharnier.": GOTO 1100
3440 PRINT"Je kijkt omlaag. De put lijkt ontzet-"
3445 PRINT"tend diep. Je ziet een ladder naar"
3450 PRINT"beneden lopen.": GOTO 1100
3500 IF P = 30 THEN 3550
3510 IF(LK = 0) AND(P = 31) THEN 3600
3520 PRINT"Het valt naar beneden.": G(Q) = 33: GOTO 1100
3550 PRINT"Het valt naar beneden.": G(Q) = 31 + 2 * LK
3555 PRINT"Onder je hoor je een luid";
3560 IF Q <> 8 THEN PRINT"e plof.": GOTO 1100
3570 PRINT" gekraak."
3580 G(Q) = 33: LK = 1: D(31, 10) = 32
3590 FOR A = 1 TO AO: IF G(A) = 31 THEN G(A) = 33
3595 NEXT A: GOTO 1100
3600 S = 0: FOR A = 1 TO AO
3610 IF G(A) = P THEN S = S + 1
3620 NEXT A: IF L = 0 THEN 3640
3630 IF S <= 2 THEN PRINT"Het luikje buigt vervaarlijk door..."
3640 IF S <> 3 THEN 1100
3650 PRINT"Het luikje begeeft het onder het grote"
3660 PRINT"gewicht. Je valt in de afgrond.": PT = 0
3670 GOTO 1140
3700 PRINT"De draak kijkt een beetje treurig.": GOTO 1100
3710 PRINT"Het ziet er niet al te stevig uit.": GOTO 1100
3720 PRINT"Hoewel je geen expert op het gebied van"
3730 PRINT"tijdmachines bent, zie je toch al gauw"
3740 PRINT"dat hier waarschijnlijk nog een"
3745 PRINT G$(2); " mist.": GOTO 1100
3750 PRINT"Je kunt de bloemen niet goed thuis-"
3760 PRINT"brengen. Ze ruiken erg sterk.": GOTO 1100
3800 E$ = "": GOTO 1100
3990 FOR W = 1 TO 600: NEXT W: PRINT"Je bent dood."
4000 PRINT: PRINT: PRINT"Wil je het nog een keer proberen?"
4010 GOSUB 210
4020 IF(IN$ = "J") OR(IN$ = "j") THEN RUN
4030 IF(IN$ <> "N") AND(IN$ <> "n") THEN 4010
4040 END
4100 PRINT: PRINT" Je hebt de opdracht helaas niet kunnen"
4110 PRINT"volbrengen. Pas de volgende keer een"
4120 PRINT"beetje beter op Weena!": GOTO 4000
5000 PRINT
5010 PRINT"Je bent weer thuis. Je bent naar de"
5020 PRINT"toekomst gegaan, en je hebt Weena ge-"
5030 PRINT"red. De mensheid is trots op je."
5040 PRINT"GEFELICITEERD!!!"
5050 GOTO 4000
6000 GOSUB 100
6010 PRINT"WEET JE HET ZEKER?"
6020 GOSUB 210
6030 IF(IN$ = "J") OR(IN$ = "j") THEN RUN
6040 LP = 1: GOTO 1100
7000 IF PT >= 5 THEN 7030
7010 PRINT"Wat dacht je van een lekkere, stevige"
7020 PRINT"maaltijd...": GOTO 1400
7030 IF LEN(I$) <> 1 THEN PRINT I$: GOTO 1400
7040 IF I$ <> "1" THEN 7070
7050 PRINT"In het noordoosten wacht je een akelige"
7060 PRINT"dood...": GOTO 1400
7070 IF I$ <> "2" THEN 7100
7080 PRINT"Je bent ergens anders dan waar je denkt"
7090 PRINT"te zijn. Weest gewaarschuwd!": GOTO 1400
7100 IF I$ <> "4" THEN 7200
7105 PRINT"Op dit moment zou de draak zich elk"
7110 PRINT"hapje lekker doen smaken...": GOTO 1400
7200 IF I$ = "0" THEN 7230
7210 PRINT"De Eloi schijnen een goede smaak te"
7220 PRINT"hebben, wat eten betreft.": GOTO 1400
7230 PRINT"Je doet het prima. Ga zo door!": GOTO 1400
10000 GOSUB 100
10010 PRINT"UITLEG 'DE TIJDMACHINE'"
10020 PRINT
10030 PRINT" De bedoeling van dit spel is, dat je,"
10040 PRINT"door opdrachten in te typen, naar de"
10050 PRINT"toekomst reist. Daar moet je Weena"
10060 PRINT"vinden en naar het heden terugbrengen."
10070 PRINT"Weena is een meisje, dat als een van de"
10080 PRINT"laatsten van alle mensen nog over is,"
10090 PRINT"sinds de afschuwelijke Morlochs de"
10100 PRINT"aarde aan het veroveren zijn."
10110 PRINT" De opdrachten, die je in mag tikken"
10120 PRINT"om deze taak te volbrengen, zijn:"
10130 GOSUB 10900
10140 PRINT"N, NO, NW, Z, ZO, ZW, W, O, OP, NEER,"
10150 PRINT
10160 PRINT"PAK LAMP AAN"
10170 PRINT"LEG LAMP UIT"
10180 PRINT"OPEN INVENTARIS"
10190 PRINT"EET ONDERZOEK"
10200 PRINT"KIJK STOP"
10210 PRINT: PRINT"en HELP.": PRINT
10220 PRINT"De opdrachten mogen in hoofd- en kleine"
10230 PRINT"letters worden ingetikt. Ze mogen wor-"
10240 PRINT"den afgekort tot de eerste drie letters"
10250 PRINT"van die opdracht, behalve LAMP AAN en"
10255 PRINT"LAMP UIT."
10256 PRINT"Je kunt ook meerdere opdrachten ineens"
10257 PRINT"ingeven. De opdrachten moeten dan van"
10258 PRINT"elkaar gescheiden worden door komma's"
10259 PRINT"of puntkomma's."
10260 HO = 0: VE = 20: GOSUB 110
10270 PRINT"Even geduld A.U.B.": GOSUB 11000
10280 GOSUB 110: GOTO 10910
10900 PRINT: PRINT: PRINT
10910 PRINT"...toets... ": GOSUB 210: GOSUB 100: RETURN
11000 RESTORE
11020 FOR L = 1 TO 42: I = 1
11030 IF I > 10 THEN 11036
11031 READ S: IF S = -1 THEN S = I - 11
11032 IF S < 0 THEN 11034
11033 D(L, I) = S: I = I + 1: GOTO 11030
11034 D(L, I) = 0: I = I + 1: S = S + 1: IF S <> 0 THEN 11034
11035 GOTO 11030
11036 NEXT L
11040 FOR A = 1 TO AO
11050 READ G$(A), G(A): NEXT A
11060 CP = 0: F = 1: PT = 40: W = 0: WP = 28: LP = 0: BK = 0: LK = 0
11070 VP = 0: AM = 0: BL = 0: DR = 0: SC = 0: P = 2: L = 0: D = 0
11080 GOSUB 260: BC = INT(RV * 9000) + 1000: RETURN
12000 GOSUB 100: J$ = "Je bent in "
12003 IF P > 24 THEN 12060
12007 ON INT((P + 5) / 6) GOTO 12010, 12020, 13120, 12040
12010 ON P GOTO 13000, 13010, 13020, 13030, 13040, 13050
12020 ON P - 6 GOTO 13060, 13070, 13080, 13090, 13100, 13110
12040 IF P < 21 THEN 13120
12050 ON P - 20 GOTO 13140, 13150, 13160, 13170
12060 IF P > 29 THEN 12070
12065 ON P - 24 GOTO 13180, 13190, 13200, 13210, 13220
12070 IF P < 34 THEN 13500
12075 IF P = 34 THEN 13400
12076 IF P = 42 THEN 13230
12080 IF L <> 0 THEN 12200
12090 GOSUB 260: I$ = "Weg hier!"
12100 PRINT"Je ziet niet veel. Het is donker."
12110 IF RV < .7 THEN 12150
12130 PRINT" Je voelt een harige hand langs je"
12140 PRINT"gezicht strijken...": RETURN
12150 PRINT" De Morlochs vallen je aan, maar je"
12160 PRINT"verweert je dapper.": PT = PT - 10
12165 PRINT"Je voelt je krachten snel afnemen."
12170 IF(G(8) <> 0) OR(RV < .3) THEN 12180
12175 PRINT"Je doodt enkele Morlochs met het breek-"
12176 PRINT"ijzer."
12180 IF PT <= 0 THEN PRINT"De Morlochs overmeesteren je."
12190 RETURN
12200 GOSUB 260
12202 IF P = 39 THEN I$ = "2"
12204 IF P = 40 THEN I$ = "Iene miene mutte..."
12206 IF P = 41 THEN I$ = "1"
12210 PRINT J$; "een lange, muffe tunnel."
12220 IF RV < .8 THEN RETURN
12230 PRINT"Je ziet een Morloch haastig wegvluchten"
12240 PRINT"voor het licht.": RETURN
13000 PRINT J$; "de eetkamer. In het midden"
13001 PRINT"van de kamer staat een tafel."
13002 L$ = "tafel": I$ = "Zoek het zelf maar uit.": RETURN
13010 PRINT J$; "de woonkamer van een groot"
13011 I$ = "Onderzoek eens wat.": IF SC = 1 THEN 13014
13012 PRINT"huis. Aan de wand hangt een mooi schil-"
13013 PRINT"derij.": RETURN
13014 PRINT"huis. Op de plaats waar het schilderij"
13015 PRINT"hing, zie je nu een brandkast.": RETURN
13020 PRINT J$; "het laboratorium.": RETURN
13030 PRINT"Je zit in de tijdmachine.": IF F = 0 THEN RETURN
13031 L$ = "tijdmachine": IF G(2) = 0 THEN 13034
13032 PRINT"De tijdmachine is nog niet helemaal"
13033 PRINT"klaar.": I$ = "Zoek overal.": RETURN
13034 PRINT"Je monteert de kristallen staaf op de"
13035 PRINT"juiste plaats, en haalt de handle over."
13036 PRINT"Een oorverdovend geraas klinkt in je"
13037 PRINT"oren. Als je de tijdmachine stopt, raak"
13038 PRINT"je bewusteloos."
13039 GOSUB 15000: P = 0: G(2) = -1: RETURN
13040 PRINT"Je bevindt je in de sphinx. Hier is ook"
13041 PRINT"de tijdmachine!! Je neemt plaats, maar"
13042 PRINT"plotseling klapt de deur dicht en zit"
13043 PRINT"je gevangen. De Morlochs vallen je aan."
13044 PRINT"Je probeert de tijdmachine te starten,"
13045 PRINT"maar de Morlochs hebben de starthandle"
13046 PRINT"eraf gehaald!": IF G(12) = 0 THEN 13300
13047 PRINT"De Morlochs overmeesteren je."
13048 PT = 0: RETURN
13050 PRINT J$; "een tuin met vreemde bloemen"
13051 PRINT"Aan de noordkant staat een witte sphinx"
13053 L$ = "paneel": IF F <> 1 THEN RETURN
13054 PRINT"Je bent nog een beetje verdwaasd."
13055 PRINT"Als je weer wat bent bijgekomen, bemerk"
13056 PRINT"je, dat de tijdmachine weg is! Je ziet"
13057 PRINT"een paneel in de onderkant van de"
13058 PRINT"sphinx dichtklappen..."
13059 F = 0: RETURN
13060 PRINT J$; "de eetzaal van de Eloi, de"
13061 PRINT"bewoners van de aarde in het jaar"
13062 PRINT"802.701": I$ = "3": RETURN
13070 PRINT J$; "de slaapzaal. Langs de muren"
13071 PRINT"liggen zachte kussens.": L$ = "kussen": RETURN
13080 PRINT"Je bent aan de zuidelijke oever van"
13081 PRINT"een snelstromende rivier.": IF WP <> 28 THEN RETURN
13082 PRINT"Sommige Eloi zijn aan het zwemmen."
13083 IF(WP <> 28) OR(W = 1) THEN RETURN
13084 PRINT"Je ziet er een bijna verdrinken!!!"
13085 I$ = "Probeer haar te redden!": RETURN
13090 PRINT J$; "de stad. Overal staan mooie,"
13091 PRINT"maar vervallen huizen. Er schijnt geen"
13092 PRINT"duidelijk stratenplan te zijn.": RETURN
13100 PRINT"Je bent op een pleintje. In het midden"
13101 PRINT"staat iets, dat lijkt op een waterput."
13102 L$ = "put": IF W = 0 THEN RETURN
13103 PRINT"Weena kruipt plotseling dicht tegen"
13104 PRINT"je aan. Ze ziet er bang uit."
13105 I$ = "Laat haar hier maar achter.": RETURN
13110 PRINT"Je staat op een hoge heuvel. In het"
13111 PRINT"westen zie je de stad liggen, en ver"
13112 PRINT"in het oosten een groot, groen gebouw.": RETURN
13120 PRINT"Je bent op een kronkelig bospad, in een"
13121 PRINT"woest en donker woud."
13122 I$ = "Zoek je weg door het bos.": GOSUB 260
13123 IF RV > .2 THEN 13130
13124 PRINT"In de verte zie je wat Morlochs lopen.": RETURN
13130 IF RV < .85 THEN RETURN
13131 PRINT" Plotseling vallen enkele Morlochs je"
13132 AM = AM + 1: IF AM > 8 THEN 13135
13133 PRINT"aan. Maar je was op je hoede, en je"
13134 PRINT"verjaagt ze.": RETURN
13135 IF W = 0 THEN 13133
13136 PRINT"aan. Voor je er erg in hebt, ontvoeren"
13137 PRINT"ze Weena, en ben je alleen."
13138 W = -1: RETURN
13140 PRINT"Je staat voor de ingang van een oud en"
13141 PRINT"in onbruik geraakt groen porceleinen"
13142 PRINT"museum.": RETURN
13150 PRINT"Je staat in een grote museumhal. Er"
13151 PRINT"ligt een dikke laag stof op de vloer.": RETURN
13160 PRINT"Je staat in een kleine zaal, met vele"
13161 PRINT"kapotte vitrines.": L$ = "vitrine": RETURN
13170 PRINT J$; "een enorme zaal, met grote"
13171 PRINT"machines. De machines zien er oud en"
13172 PRINT"verwaarloosd uit.": L$ = "machine": RETURN
13180 PRINT J$; "een kleine museumzaal."
13181 PRINT"Je kunt omhoog, via een trap achter"
13182 PRINT"een deur."
13183 I$ = "Zoek de sleutel op.": RETURN
13190 PRINT"Je bent op de museumzolder. Het is hier"
13191 PRINT"erg stoffig. Vreemde dieren op sterk"
13192 PRINT"water kijken je glazig aan."
13193 L$ = "dier op sterk water": RETURN
13200 PRINT J$; "een grote museumzaal,"
13201 PRINT"met grote, glazen vitrines.": L$ = "vitrines"
13202 RETURN
13210 IF WP <> 28 THEN 13214
13211 PRINT"Je waadt de rivier in, en redt het"
13212 PRINT"meisje. Ze is je erg dankbaar."
13213 W = 1: RETURN
13214 PRINT"Je waadt de rivier in. De stroom grijpt"
13215 PRINT"je, je verliest je evenwicht, en"
13216 PRINT"verdrinkt.": PT = 0: RETURN
13220 PRINT J$; "een klein en rommelig"
13221 PRINT"studeervertrek. Overal liggen openge-"
13222 PRINT"slagen boeken, en stapels papieren.": RETURN
13230 GOSUB 13120: IF DR <> 0 THEN RETURN
13231 PRINT" Je ziet een grote, hongerige draak."
13232 PRINT"De draak komt langzaam op je af.": DR = 1
13233 I$ = "4": RETURN
13300 PRINT"Wat een geluk, dat je 'm bij je hebt!!"
13305 PRINT"Je monteert de handle, en haalt hem"
13310 PRINT"over...."
13320 P = -1: GOTO 15000
13400 PRINT"Je valt plotseling in een ijskoud meer."
13405 IF G(16) = 0 THEN 13480
13410 PRINT"Je probeert tegen de kant op te klim-"
13420 PRINT"men, maar die is veel te steil."
13430 PRINT"Je voelt je krachten langzaam wegebben."
13440 PRINT"Met een laatste krachtsinspanning pro-"
13450 PRINT"beer je je nog op te trekken, maar"
13460 PRINT"tevergeefs. Het water sluit zich onver-"
13470 PRINT"biddelijk boven je...": PT = 0: RETURN
13480 PRINT"Gelukkig heb je de autoband bij je,"
13481 PRINT"waarmee je toch een beetje blijft drij-"
13482 PRINT"ven. Na enig proberen lukt het je tegen"
13483 PRINT"de kant op te klimmen.": GOSUB 15000
13484 P = -2: RETURN
13500 IF L = 0 THEN PRINT"Het is donker.": RETURN
13510 IF P = 31 THEN 13600
13520 IF P = 33 THEN 13700
13525 P$ = ""
13530 PRINT J$; "een diepe put. Ver boven je"
13540 PRINT"zie je nog een klein stukje van de"
13550 PRINT"blauwe lucht.": IF P$ <> "" THEN PRINT P$
13560 RETURN
13600 P$ = "Je kunt omlaag door een kapot luik."
13605 IF LK = 1 THEN L$ = "versplinterd luik": GOTO 13530
13610 L$ = "luik": I$ = "Heb je niks zwaars bij je?"
13620 PRINT J$; "een diepe put. Je staat op"
13630 PRINT"een luikje, dat doorbuigt onder je"
13640 PRINT"gewicht.": RETURN
13700 PRINT"Je staat op de bodem van een diepe put."
13710 I$ = "Zoek het eens wat hogerop.": RETURN
14000 PRINT"De draak komt op je af. Hij ziet er"
14001 PRINT"woest en hongerig uit. Je probeert nog"
14002 PRINT"weg te rennen, maar tevergeefs. De"
14003 PRINT"draak eet je op."
14010 PRINT"Je bent dood.": GOTO 4000
15000 PRINT: PRINT"<TOETS>": GOSUB 210: RETURN
16000 C = 0: FOR A = 1 TO LEN(A$) - 2 STEP 3
16010 IF(MID$(A$, A, 3) = D$) OR(MID$(B$, A, 3) = D$) THEN C = (A + 2) / 3
16020 NEXT A: RETURN
17000 PRINT">>>"; : INPUT V: RETURN
18000 IF E$ = "" THEN C$ = "": RETURN
18010 A = 1
18020 IF(MID$(E$, A, 1) = ",") OR(MID$(E$, A, 1) = ";") THEN 18040
18030 A = A + 1: IF A <= LEN(E$) THEN 18020
18035 C$ = E$: E$ = "": GOTO 18060
18040 C$ = "": IF A <> 1 THEN C$ = LEFT$(E$, A - 1)
18045 IF A = LEN(E$) THEN E$ = "": GOTO 18060
18050 E$ = RIGHT$(E$, LEN(E$) - A)
18060 IF LEN(C$) < 2 THEN 18070
18063 IF LEFT$(C$, 1) <> " " THEN 18070
18065 C$ = RIGHT$(E$, LEN(E$) - 1): GOTO 18060
18070 IF CP = 1 THEN PRINT" "; C$
18080 RETURN
19000 IF(A <= 2) OR(A = 8) THEN PRINT"noord";
19010 IF(A > 3) AND(A < 7) THEN PRINT"zuid";
19020 IF(A > 1) AND(A < 5) THEN PRINT"oost";
19030 IF(A > 5) AND(A < 9) THEN PRINT"west";
19040 IF A = 9 THEN PRINT"op";
19050 IF A = 10 THEN PRINT"neer";
19060 RETURN
25000 DATA-6,2,-1,-2,1,29,3,-1,2,-5,4,-1,-2,3,-1,-1,-2,10,0
25010 DATA 7,-1,6,-3,8,-1,7,-1,28,-3,10,-1,9,13,12,0,11,0,6
25020 DATA-1,10,0,14,15,-5,30,-2,18,-2,14,10,13,-1,-3,12,-2
25030 DATA 10,-1,-4,15,0,11,12,-1,14,19,-4,11,-1,-4,42,18,20
25040 DATA-1,20,-3,18,0,13,-1,0,17,-2,19,0,12,-1,18,-3,15,0
25050 DATA 14,-1,-3,16,17,-1,-4,22,0,42,-1,21,-3,23,-1,22,0
25060 DATA 25,-1,-4,25,0,22,27,-1,24,-5,23,-1,-9,25,-4,24,-1
25070 DATA-4,9,-1,-7,2,-1,-8,11,31,-8,30,-1,-6,35,0,31,33,36
25080 DATA-7,32,-1,-1,-4,41,36,41,-1,35,41,0,38,-1,-3,39,0
25090 DATA 36,35,-1,41,37,-4,36,-1,40,32,0,34,-1,0,34,-4,34
25100 DATA 35,-1,35,34,0,36,-1,0,21,18,-2,18,-1
26000 DATA"schilderij",2,"kristallen staaf",-1
26010 DATA"ontbijt",1,"stapeltje papieren",29
26020 DATA"vruchten",7,"urn",27
26030 DATA"boek",27,"zwaar breekijzer",24
26040 DATA"gebroken urn",-1,"sleutel",-1
26050 DATA"lamp",26,"handle van tijdmachine",40
26060 DATA"amandeltaart",7,"lucifers",-1
26070 DATA"dode draak",-1,"autoband",15
30000 REM
30010 REM DE TIJDMACHINE
30020 REM EEN ADVENTURE
30030 REM
30040 REM GESCHREVEN DOOR G.A. LUNTER
30050 REM BORDINE 44
30060 REM 8604 AD SNEEK
30070 REM
30080 REM OP EEN SINCLAIR ZX SPECTRUM
30090 REM MAART 1988
30100 REM
30110 REM COPYRIGHT NOS HILVERSUM