Build it.
[AROS-Contrib.git] / rexx / progs / monday.r
blobb6a8e27dbfa2a66ac85f466969b98025451935ef
1 /*MONDAY GAME A4 optimized via ROPT by MIKEL@UWF on 22 Feb 1987 at 16:47:13*/;
2 BEGIN:;
3 call CP "SET MSG OFF";
4 HI='1B'x || '[1m';
5 LO='1B'x || '[m';
6 TOT_NOUNS = 22;
7 PAUSE=4;
8 CALL TITLE;
9 call VMFCLEAR;
10 START:;
11 DO FOREVER;
12 CALL TIMEM;
13 SELECT;
14 WHEN R = 1 THEN CALL ROOM1;
15 WHEN R = 2 THEN CALL ROOM2;
16 WHEN R = 3 THEN CALL ROOM3;
17 WHEN R = 4 THEN CALL ROOM4;
18 WHEN R = 5 THEN CALL ROOM5;
19 WHEN R = 6 THEN CALL ROOM6;
20 WHEN R = 7 THEN CALL ROOM7;
21 WHEN R = 8 THEN CALL ROOM8;
22 WHEN R = 9 THEN CALL ROOM9;
23 WHEN R = 10 THEN CALL ROOM10;
24 WHEN R = 11 THEN CALL ROOM11;
25 WHEN R = 12 THEN CALL ROOM12;
26 WHEN R = 13 THEN CALL ROOM13;
27 WHEN R = 14 THEN CALL ROOM14;
28 WHEN R = 15 THEN CALL ROOM15;
29 WHEN R = 16 THEN CALL ROOM16;
30 WHEN R = 17 THEN CALL ROOM17;
31 WHEN R = 18 THEN CALL ROOM18;
32 WHEN R = 19 THEN CALL ROOM19;
33 WHEN R = 20 THEN CALL ROOM20;
34 WHEN R = 21 THEN CALL ROOM21;
35 WHEN R = 22 THEN CALL ROOM22;
36 WHEN R = 23 THEN CALL ROOM23;
37 OTHERWISE CALL END_ROOM;
38 END;
39 SAy;
40 CALL CAN_SEE;
41 CALL CAN_GO;
42 CALL COMMAND;
43 END;
44 EXIT;
45 TIMEM:;
46 call VMFCLEAR;
47 TIMES = '0:00';
48 TIMES = OVERLAY(HOUR,TIMES,1,1);
49 IF MINUTES>9 THEN TIMES = OVERLAY(MINUTES,TIMES,3,2);
50 ELSE;
51 IF MINUTES<10 THEN TIMES = OVERLAY(MINUTES,TIMES,4,1);
52 say left(LOC.R,30) copies(' ',24)'Time: 'TIMES' pm';
53 say;
54 return;
55 CAN_SEE:;
56 SEE = '';
57 FLG=0;
58 IF R>0 & R<7 then FLG=1;
59 ELSE;
60 IF R=11 THEN FLG=1;
61 ELSE;
62 IF R>15 & R<21 THEN FLG=1;
63 IF FLG=1 THEN OBJECT.21.2=R;
64 DO I = 1 to TOT_NOUNS;
65 If OBJECT.I.2 = R THEN SEE = SEE||OBJECT.I.1||' ';
66 END I;
67 IF SEE = '' THEN SEE = 'Nothing of Interest';
68 Say 'You can see: 'SEE;
69 Say;
70 RETURN;
71 CAN_GO:;
72 GO='';
73 PARSE UPPER VAR EXIT.R NOR SOU EAS WES;
74 IF NOR = 'N' THEN GO = GO||'NORTH ';
75 IF SOU = 'S' THEN GO = GO||'SOUTH ';
76 IF EAS = 'E' THEN GO = GO||'EAST ';
77 IF WES = 'W' THEN GO = GO||'WEST';
78 IF GO='' THEN GO='???';
79 SAY 'Obvious exits: 'GO;
80 Say copies('=',70);
81 Say;
82 RETURN;
83 COMMAND:;
84 N = 0;
85 V = 0;
86 FLAG = 0;
87 If MSG = 0 then;
88 DO;
89 MSG = 1;
90 SAY 'WELCOME TO' HI'THE MONDAY ADVENTURE'LO' ( NOVICE LEVEL )';
91 SAY '(C)OPYRIGHT 1986 / 1987 BY: MIKEL F. RICE (MIKEL @ UWF)';
92 SAY 'Dedicated to: Tanya E. Bortels';
93 END;
94 rnd = random(1,6);
95 if rnd = 1 then command = 'What next?';
96 if rnd = 2 then command = 'What will you do?';
97 if rnd = 3 then command = 'Now what?';
98 if rnd = 4 then command = 'Your request?';
99 if rnd = 5 then command = 'What do you want to do?';
100 if rnd = 6 then command = 'What will you try now?';
101 SAY;
102 say command;
103 pull instruct;
104 UPPER instruct;
105 say;
106 If instruct = 'I' then instruct = 'INV';
107 parse var instruct verbin nounin;
108 verb = left(verbin,3);
109 noun = left(nounin,3);
110 If verb = 'LOO' & noun = '' then SIGNAL START;
111 IF (VERB ='NOR' | VERB='SOU') | (VERB ='EAS' | VERB ='WES');
112 THEN SIGNAL GO;
113 ELSE;
114 If (VERB= 'N' | VERB= 'S') | (VERB= 'E' | VERB= 'W') THEN SIGNAL GO;
115 ELSE;
116 IF VERB = 'U' | VERB = 'D' THEN SIGNAL GO;
117 select;
118 when VERB = 'QUI' then SIGNAL QUIT;
119 when VERB = 'INV' then CALL INVENTORY;
120 when VERB = 'HEL' then CALL HELP;
121 when VERB = 'VER' THEN CALL VERBS;
122 when VERB = 'DIG' then CALL DIG;
123 WHEN VERB = 'PAU' THEN PAUSE = NOUN;
124 otherwise flag = 1;
125 END;
126 If flag = 0 then signal delay;
127 If length(instruct) < 4;
128 then DO;
129 Say "WHAT??? I don't understand that.";
130 SIGNAL DELAY;
131 END;
132 If NOUN = '' THEN;
134 SAY 'That verb requires a NOUN.';
135 Signal DELAY;
136 END;
137 If verb = 'ENT' THEN VERB = 'GO ';
138 If verb = 'TAK' THEN VERB = 'GET';
139 If verb = 'EXA' THEN VERB = 'LOO';
140 If verb = 'SMA' THEN VERB = 'BRE';
141 If verb = 'BUI' THEN VERB = 'MAK';
142 If verb = 'CAR' THEN VERB = 'CUT';
143 If verb = 'PUM' THEN VERB = 'INF';
144 If verb = 'PUS' THEN VERB = 'MOV';
145 If verb = 'ROW' THEN VERB = 'PAD';
146 If verb = 'STA' THEN VERB = 'KIL';
147 V=POS(VERB,VLIST);
148 N=POS(NOUN,NLIST);
149 IF V=0 THEN;
151 SAY "I don't understand that VERB!";
152 SIGNAL DELAY;
153 END;
154 ELSE;
155 V =(V%3)+1;
156 IF N=0 THEN;
158 SAY "I don't understand that NOUN!";
159 SIGNAL DELAY;
160 END;
161 ELSE;
162 N =(n%3)+1;
163 SELECT;
164 WHEN V = 1 THEN SIGNAL GO;
165 WHEN V = 2 then CALL GET;
166 WHEN V = 3 THEN CALL LOOK;
167 WHEN V = 4 THEN CALL DROP;
168 WHEN V = 5 THEN CALL OPENV;
169 WHEN V = 6 THEN CALL READV;
170 WHEN V = 7 THEN CALL UNLOCK;
171 WHEN V = 8 THEN CALL MOVE;
172 WHEN V = 9 THEN CALL CLIMB;
173 WHEN V = 10 THEN CALL BREAK;
174 WHEN V = 11 THEN CALL MAKE;
175 WHEN V = 12 THEN CALL DIG;
176 WHEN V = 14 THEN CALL CUT;
177 WHEN V = 15 THEN CALL PADDLE;
178 WHEN V = 16 THEN CALL INFLATE;
179 WHEN V = 17 THEN SAY "This is a non-violent adventure!!";
180 OTHERWISE NOP;
181 END;
182 DELAY:;
183 CALL TIMER;
184 call CP 'SLEEP' PAUSE 'SEC';
185 RETURN;
186 TIMER:;
187 MINUTES = MINUTES + 1;
188 If MINUTES = 60;
189 THEN DO;
190 MINUTES = 0;
191 HOUR = HOUR + 1;
192 END;
193 IF HOUR = 4 & MINUTES >= 30 THEN SIGNAL END_ROOM;
194 IF HOUR =4 & MINUTES =20 then Say'You feel very weak...Watch the time.';
195 IF HOUR =4 & MINUTES =10 then Say'You feel very hungry!';
196 IF HOUR =4 & MINUTES >26 then Say'Gasp...pant...cough!';
197 RETURN;
198 INVENTORY:;
199 SAY;
200 ITEM ='';
201 DO I = 1 to TOT_NOUNS;
202 IF OBJECT.I.2 = 50 THEN ITEM = ITEM||OBJECT.I.1' ';
203 END I;
204 IF ITEM = '' THEN ITEM = 'NOTHING!';
205 SAY 'You are carrying: 'ITEM;
206 RETURN;
207 HELP:;
208 IF R=6 THEN SAY'Try examining things...';
209 ELSE;
210 IF R=9 THEN SAY"If at first you don't succeed...";
211 ELSE;
212 IF R=12 THEN SAY'I once carved my name in a tree stump!';
213 ELSE;
214 If R=14 THEN SAY'Look a tree!';
215 ELSE;
216 IF R=21 THEN SAY'LOOK at the rope!';
217 ELSE;
219 RND=RANDOM(1,6);
220 SELECT;
221 WHEN RND=1 THEN SAY"CAN'T YOU DO ANYTHING ON YOUR OWN?";
222 WHEN RND=2 THEN SAY"I'M AS CONFUSED AS YOU ARE!";
223 WHEN RND=3 THEN SAY"TRY EXAMINING THINGS...";
224 WHEN RND=4 THEN SAY"WHO IS PLAYING THIS GAME, ME OR YOU?";
225 WHEN RND=5 THEN SAY"NOT NOW I'M BUSY!";
226 OTHERWISE SAY"TYPE 'VERBS' FOR MORE HELP!";
227 END;
228 END;
229 RETURN;
230 GO:;
231 FLG = 0;
232 VB = LEFT(VERB,1);
233 NN = LEFT(NOUN,1);
234 SELECT;
235 WHEN ((NOUN="SHE" | NOUN="DOO") & (OPENED=1 & R=19)) THEN R=22;
236 WHEN ((NOUN="SHE" | NOUN="DOO") & (OPENED=0 & R=19)) THEN CALL DOOR;
237 WHEN R=22 & (VB='E' | NN='E') THEN R=19;
238 WHEN R=23 & (VB='W' | NN='W') THEN R=19;
239 WHEN NOUN="RAF" THEN CALL INRAFT;
240 WHEN NOR='N' & (VB ='N' | NN='N') THEN R = R + 1;
241 WHEN SOU='S' & (VB ='S' | NN='S') THEN R = R - 1;
242 WHEN EAS='E' & (VB ='E' | NN='E') THEN R = R + 5;
243 WHEN WES='W' & (VB ='W' | NN='W') THEN R = R - 5;
244 OTHERWISE FLG = 1;
245 END;
246 IF (VB='D' | VB='U') | (NN='D' | NN='U') THEN;
248 SAY 'TRY CLIMB instead...';
249 FLG = 0;
250 END;
251 IF FLG=1 then;
253 SAY 'There is no way to go in that direction!';
254 SIGNAL DELAY;
255 END;
256 ELSE;
257 CALL TIMER;
258 RETURN
259 /*SIGNAL START;*/
260 DOOR:;
261 IF OPENED=0 & UNLOCKED=0 THEN;
263 SAY 'The door is locked!';
264 END;
265 ELSE;
266 IF OPENED=0 & UNLOCKED=1 THEn;
268 SAY'The shed door is closed!';
269 END;
270 call CP 'SLEEP' PAUSE 'SEC';
271 RETURN;
272 LOOK:;
273 IF N=21 THEN OBJECT.N.2 = R;
274 If N>16 & n<21 THEN SAY OBJECT.N.3;
275 ELSE;
276 IF OBJECT.N.2 ^= R & Object.n.2 ^= 50;
277 THEN SAY "I don't see the "OBJECT.N.1" here now...";
278 ELSE SAY OBJECT.N.3;
279 RETURN;
280 GET:;
281 COUNT = 0;
282 DO I = 1 to TOT_NOUNS;
283 If OBJECT.I.2 = 50 then COUNT = COUNT + 1;
284 END I;
285 IF COUNT > 4 THEN;
287 RND = RANDOM(1,3);
288 SELECT;
289 WHEN RND=1 THEN SAY"You can't carry anymore. Try 'INVENTORY'";
290 WHEN RND=2 THEN SAY'You are carrying too much stuff. Try "INVENTORY"';
291 WHEN RND=3 THEN SAY'You have too much. Try "INVENTORY"';
292 OTHERWISE NOP;
293 END;
294 RETURN;
295 END;
296 If OBJECT.N.2 =50 THEN SAY"You're already carrying that!";
297 ELSE;
298 If OBJECT.N.2 ^=R THEN SAY"I don't see "OBJECT.N.1" here.";
299 If OBJECT.N.2 = R THEN;
301 SELECT;
302 WHEN N=3 THEN Say'It is too heavy to lift, maybe you can move it.';
303 WHEN N=4 THEN Say"Don't be stupid!";
304 WHEN N=8 THEN Say'It is tied to the tree with a strong knot.';
305 WHEN N=12 THEN Say'It is cemented to the ground.';
306 WHEN N=13 THEN Say'It is hinged to the shed.';
307 WHEN N=14 THEN Say"Don't be silly!";
308 WHEN N=15 & RAFT=1 then say"You can't carry the raft if it's inflated";
309 WHEN n=21 THEN SAY 'Leave the sand alone...';
310 OTHERWISE;
311 OBJECT.N.2 = 50;
312 SAY 'Okay! You now have the 'OBJECT.N.1;
313 END;
314 END;
315 RETURN;
316 DROP:;
317 If OBJECT.N.2 ^= 50 THEN SAY"You aren't holding that.";
318 ELSE;
320 SAY 'Okay! 'OBJECT.n.1' has been dropped!.';
321 OBJECT.N.2 = R;
322 END;
323 RETURN;
324 OPENV:;
325 FLG=0;
326 IF N=1 & OBJECT.N.2=50 & OBJECT.2.2=0 then;
328 SAY'Hey! You found something!';
329 OBJECT.1.3= "It's just an empty bottle";
330 OBJECT.2.2=R;
331 FLG=1;
332 END;
333 Else;
334 If N=1 & OBJECT.N.2^=50 then;
336 Say "You don't have that item!";
337 FLG=1;
338 END;
339 ELSE;
340 IF N=1 & OBJECT.2.2>0 THEN;
342 SAY 'It is already open!';
343 FLG=1;
344 END;
345 If N=10 & OBJECT.N.2=50 THEN;
347 SAY'Hey! You found something!';
348 OBJECT.11.2=R;
349 FLG=1;
350 END;
351 Else;
352 If N=10 then;
354 Say "You don't have that item!";
355 FLG=1;
356 END;
357 IF R^=19 THEN FLG=FLG;
358 ELSE;
359 If (N=12 | N=13) & (UNLOCKED=1 & OPENED=0) THEN;
361 Say'The door to the shed is now open!';
362 OPENED=1;
363 FLG=1;
364 END;
365 ELSE;
366 IF (N=12 | N=13) & UNLOCKED=0 THEN;
368 SAY'The door to the shed is locked!';
369 FLG=1;
370 END;
371 If FLG=0 THEN SAY "I must be stupid, but I can't open that!";
372 RETURN;
373 READV:;
374 FLG=0;
375 IF N=2 & OBJECT.N.2=50 then;
377 Say 'Hello there. I just want to take this time (1 turn) to wish you';
378 Say 'good luck! For some extra help type "VERBS"... Mikel Rice!';
379 FLG=1;
380 call CP 'SLEEP 3 SEC';
381 End;
382 Else;
383 If N=2 & OBJECT.2.2^=50 THEN;
385 SAY "You don't have that!";
386 FLG=1;
387 END;
388 If N=1 THEN;
390 SAY 'The label has washed off...';
391 FLG=1;
392 END;
393 If N=4 & OBJECT.N.2=R THEN;
395 SAY 'Carved on the stump: The key lies under the field of flowers!';
396 FLG=1;
397 END;
398 Else;
399 If N=4 & FLG=0 THEN SAY "I don't see a stump here...";
400 If N=10 & (OBJECT.N.2=50 | OBJECT.N.2=R) THEN;
402 SAY 'It top reads: ACME Hardware Co.';
403 FLG=1;
404 END;
405 ELSE;
406 IF N^=22 & FLG=0 THEN SAY'How can you read that?';
407 ELSE;
408 IF FLG=0 THEN CALL MAP;
409 RETURN;
410 UNLOCK:;
411 IF R^=19 THEN SAY"I don't see a shed here!";
412 ELSE;
413 If (N=12 | N=13) & UNLOCKED=1 THEN SAY'The shed is already unlocked!';
414 ELSE;
415 If (N=12 | N=13) & OBJECT.6.2^=50 THEN SAY"You don't have the key!";
416 ELSE;
417 If (N=12 | N=13) & (UNLOCKED=0 & OBJECT.6.2=50) THEN;
419 Say "The key fits. You turn it and unlock the door to the shed.";
420 UNLOCKED=1;
421 END;
422 ELSE SAY "I must be stupid, but I Can't unlock that!";
423 RETURN;
424 MOVE:;
425 FLG=0;
426 If (N=4 | N=12) | (N=13 | N=14) THEN;
428 SAY 'Only in your dreams...';
429 FLG=1;
430 END;
431 IF (N=3 & R=7) & KNIFE=0 THEN;
433 SAY 'Hey! You found something!';
434 KNIFE=1;
435 OBJECT.5.2=R;
436 FLG=1;
437 END;
438 IF OBJECT.N.2^=R THEN;
440 Say "I don't see that here.";
441 FLG=1;
442 END;
443 If FLG=0 then say "Okay but nothing happened!";
444 RETURN;
445 CLIMB:;
446 IF R=14 & N=14 THEN;
448 Say 'Ugh...That was hard work....';
449 R=21;
450 END;
451 ElSE;
452 IF R=21 & (N=8 | N=14) THEN;
454 SAY 'PANT...That was tough....';
455 R=14;
456 END;
457 ELSE SAY 'Why do you want to climb that?';
458 RETURN;
459 BREAK:;
460 IF N=1 & OBJECT.N.2=50 & OBJECT.2.2=0 then;
462 SAY 'Hey! You found something!';
463 OBJECT.2.2=R;
464 OBJECT.N.2=0;
465 END;
466 ELSE;
467 IF N=1 & OBJECT.N.2^=50 tHEN SAY "I don't have that.";
468 ELSE SAY "Don't be so destructive!!";
469 RETURN;
470 MAKE:;
471 If N^=16 THEN SAY "I must be stupid, but I just don't understand you!";
472 ELSE;
473 If OAR=0 & (OBJECT.5.2=50 & OBJECT.9.2=50) THEN;
475 SAY 'Using the knife you make a primitive paddle from the driftwood';
476 OBJECT.9.2=0;
477 OBJECT.16.2=50;
478 OAR=1;
479 END;
480 ELSE;
481 If OAR=0 & (OBJECT.5.2^=50 | OBJECT.9.2^=50);
482 THEN Say "You don't have enough material to make a paddle.";
483 ELSE;
484 If OAR=1 then Say 'you already made a paddle.';
485 ELSE;
486 IF OAR=2 THEN SAY"You can't make a paddle with a broken knife!!";
487 RETURN;
488 DIG:;
489 IF R^=9 & OBJECT.7.2=50 THEN SAY "All all you found is dirt...";
490 ELSE;
491 IF OBJECT.7.2^=50 THEN SAY "You don't have a shovel!";
492 ELSE;
493 IF KEY=0 THEN;
495 SAY'You dug a small hole but found nothing...';
496 SAY'Wait! Look there is something...';
497 KEY=1;
498 MAP=1;
499 OBJECT.22.2=R;
500 END;
501 ELSE;
502 IF KEY=1 then;
504 SAY "Hey! You found something!";
505 OBJECT.6.2=R;
506 KEY=2;
507 END;
508 RETURN;
509 CUT:;
510 IF N=8 & OBJECT.5.2=50 & R=21 then Say'If you cut the rope how will you get down?';
511 ELSE;
512 IF (N=14 | N=4) & (OBJECT.5.2=50 & R=14) THEN;
514 Say 'The knife can cut most types of wood just not oak!';
515 SAY 'The hard oak wood busted the knife!';
516 OAR=2;
517 END;
518 ELSE;
519 IF N=9 THEN;
521 N=16;
522 SIGNAL MAKE;
523 END;
524 ELSE;
525 IF n=16 then SIGNAL MAKE;
526 ELSE;
527 If n=4 THEN SAY"Aw...leave the poor tree stump alone!";
528 ELSE SAY"Don't be so destructive!!";
529 RETURN;
530 PADDLE:;
531 IF R^=23 then say "You aren't in the raft!";
532 ELSE;
533 If OBJECT.16.2^=50 THEN SAY"You don't have a paddle! Maybe you could MAKE one!";
534 ELSE SIGNAL WIN_ROOM;
535 RETURN;
536 INFLATE:;
537 If N^=15 then say"I don't know how to inflate that!";
538 ELSE;
539 IF OBJECT.11.2^=50 THEN SAY"You don't have a pump!";
540 ELSE;
541 If OBJECT.15.2=50 then SAY"You can't inflate it while holding it!";
542 ELSE;
543 IF (R>6 & R<10) | (R>11 & R<15) | (r>20);
544 THEN SAY "You must be at the beach to inflate the raft!";
545 ELSE;
546 IF RAFT=1 then SAY"It's already inflated!";
547 ELSE;
549 SAY'Phfsss...phfsss...phfsss...Okay you inflated it!';
550 OBJECT.15.1='inflated RAFT';
551 RAFT=1;
552 MINUTES=MINUTES+1;
553 END;
554 RETURN;
555 INRAFT:;
556 IF RAFT=0 THEN SAY"It isn't inflated!";
557 ELSE;
558 IF OBJECT.15.2^=r THEN SAY"The raft isn't here!!!";
559 ELSE;
560 IF OBJECT.5.2^=50 THEN;
562 R=23;
563 SIGNAL START;
564 end;
565 ELSE;
567 SAY "Oh no! The knife punctured the raft and you can't swim!!";
568 call CP 'SLEEP 3 SEC';
569 SIGNAL END_ROOM;
570 END;
571 RETURN;
572 ROOM1:;
573 Say 'The beach is long, strecthing out of sight to the east and north. The';
574 Say 'sand is cool and wet and feels good between your toes. The blue waters';
575 Say 'of the ocean are to the south and west.';
576 RETURN;
577 ROOM2:;
578 SAY 'The white sand strecthes onward to the north and to the south. The sun';
579 Say 'makes the sand seem to glow. The blue ocean water is to the west and';
580 Say 'there is a clearing to the east.';
581 RETURN;
582 ROOM3:;
583 SAY 'More white sandy beaches that seem to go on and on. This island would';
584 Say 'be a great place to build a fancy summer resort. The ocean is to the';
585 Say 'west and to the east you see a group of trees.';
586 RETURN;
587 ROOM4:;
588 SAY 'The white sand is hot to your bare feet. A quick wave washes up around';
589 SAY 'your ankles then ebbs back into the sea. The sun sparkles upon the water';
590 Say 'in ever changing patterns. You can see a field to the east.';
591 RETURN;
592 ROOM5:;
593 Say 'The beach runs out of sight to the south and to the east. Water is to the';
594 SAY 'north and west of you. Far out on the horizon you can barely make out a';
595 Say 'ship sailing slowly through the choppy seas.';
596 RETURN;
597 ROOM6:;
598 Say 'On a beautiful white beach of a small deserted island. Just a few yards';
599 Say 'off shore, smashed upon some outcroping rocks, is the remains of your boat.';
600 SAY 'You notice that the sun feels really hot today.';
601 RETURN;
602 ROOM7:;
603 Say 'A small clearing just beyond the white beaches. The grass is growing in';
604 Say 'patches of green and brown. Overhead some sea gulls float on the tropical';
605 Say 'breezes. To the north and east you see trees and the beach is to the';
606 Say 'south and west.';
607 RETURN;
608 ROOM8:;
609 Say 'Standing in the woods under several tall trees. The trees filter the hot';
610 Say 'sun creating a cool shade. The ground is blanketed with a varity of colored';
611 Say 'leaves. It is very peaceful here.';
612 RETURN;
613 ROOM9:;
614 Say 'The grass is a lush green and the meadow is dotted with white and yellow';
615 Say 'daisies and violet snap-dragons. The air is fresh and smells sweet with';
616 Say 'the fragrance of the flowers. A gentle breeze ruffles the grasses.';
617 RETURN;
618 ROOM10:;
619 Say 'The beach is covered with small pebbles washed smooth by the ocean tides.';
620 Say 'The wet pebbles sparkle in the shinning sunlight. A cool breeze blows off';
621 Say 'the dark blue water. A fiddler crab darts back and forth across the sand.';
622 RETURN;
623 ROOM11:;
624 Say 'Sand, sand, and more sand. The beach runs on to the east and to the west.';
625 Say 'The sun is blocked out by a cloud for a short moment but it soon drifts';
626 Say 'past and once again the sun beats down upon you. You can see some trees';
627 say 'up to the north and the ocean is to the south.';
628 RETURN;
629 ROOM12:;
630 Say 'A small grove of trees on a slight enbankment. The beach is down to the';
631 Say 'south and to the East. The leaves on the trees are a mixture of reds and';
632 Say 'greens. A soft breeze shakes several leaves from the branches and they';
633 Say 'flutter to the ground.';
634 RETURN;
635 ROOM13:;
636 Say 'You are surrounded by tall trees. The trees cast long eerie shadows upon';
637 Say 'the ground and the limbs seem to be reaching out to grab you. You begin';
638 Say 'to whistle and look nervously around. You jump as a twig snaps beneath';
639 Say 'your feet. A quick chill runs down your spine.';
640 RETURN;
641 ROOM14:;
642 say 'The trees have thinned out and more sunlight filters through. a tall oak';
643 Say 'stands amidst the smaller trees like a proud parent. There is a wall of';
644 Say 'thick bushes and underbrush to the east. A bird sings a happy tune from';
645 Say "it's unseen perch high above you.";
646 RETURN;
647 ROOM15:;
648 Say 'The wet sand feels cool to your feet. Lying on the sand is a small orange';
649 Say 'starfish. A wave rolls up and pulls it back into the sea. Small pebbles';
650 Say 'a beautiful sea shells are scattered along the shore. You look out over';
651 Say 'the waves and see a school of dolphins swimming around.';
652 RETURN;
653 Room16:;
654 Say 'A tidal pool has formed in the scattered rock formations. You wade out';
655 SAY 'into the shallow water and feel refreshed. For some reason you start';
656 Say 'thinking how good a fish sandwhich would taste now. You notice some';
657 Say 'small minnows darting around in the pool. You try to catch them but';
658 SAy 'they are too fast for you.';
659 RETURN;
660 ROOM17:;
661 Say 'The beach is long, strecthing out of sight to the North and South. The';
662 Say 'sand is cool and wet and feels good between your toes. The blue waters';
663 Say 'of the ocean are to the east and you see some trees to the west.';
664 RETURN;
665 ROOM18:;
666 Say 'So much white sand all around you. You begin to wish you had never seen';
667 Say 'a beach. Suddenly you notice a person lying on a towel soaking up the';
668 Say 'warm rays of the sun. You rub your eyes and realize your mind is playing';
669 Say 'tricks on you because there is no one there only sand...';
670 RETURN;
671 ROOM19:;
672 Say 'The ground here is more sturdy and the walking is easier here. You see';
673 Say 'a rusted metal shed that was once a boathouse. Time and weather have';
674 Say 'peeled most of the paint off but it seems to be holding together. To';
675 Say 'the west is a length of thick underbrush which makes traveling in that';
676 Say 'direction impossible. The ocean is present to the east.';
677 RETURN;
678 ROOM20:;
679 Say 'This is the northeast corner of the island. The tide appears to be going';
680 Say 'out now. The sun is getting ever lower in the sky and the temperature is';
681 Say 'beginning to drop. Your stomach growls loudly and that fish sandwhich';
682 Say 'comes to mind again.';
683 RETURn;
684 ROOM21:;
685 Say 'You step cautiously around the treehouse until you decide that it is well';
686 Say 'built and then you relax. From your vantage point you can see the entire';
687 Say 'island. To the north you see the beach, to the west you see a meadow,';
688 Say 'to the South you see more trees, and to the east you see the beach and';
689 Say 'there appears to be a small building there. You feel like a kid again';
690 Say 'and give your best tarzan yell...';
691 RETURN;
692 ROOM22:;
693 Say 'The shed is small and appears to have been unused for a long time. As you';
694 Say 'enter a large rat scurries off into a dark corner. Cobwebs hang from each';
695 Say 'of the four corners. The shed is mostly empty save a few usless items that';
696 Say 'are scattered about. The door squeaks as it sways in the wind.';
697 RETURN;
698 ROOM23:;
699 Say 'You are in the inflatable two-man raft. The waves gently rock the bright';
700 Say 'yellow raft on the swelling billows. The raft seems to holding the air';
701 Say 'there are no apparent leaks. A couple of curious sea gulls swoop in for';
702 Say 'a closer inspection. Funny how sea gulls remind you of fried Chicken!';
703 RETURN;
704 END_ROOM:;
705 call VMFCLEAR;
706 SAY 'In a pine coffin six feet under!'copies(' ',28)'Time: Eternity';
707 SAY;
708 SAY 'The coffin is cold and damp. The air is foul and musty. Mildew and other';
709 Say 'fungi have begun to cultivate on your clothing. The roses on your grave';
710 Say 'have long since wilted and died. Already the small sprouts of new grass';
711 Say 'have began to grow in the fresh top soil. All is cold and lifeless.';
712 say;
713 SAY CENTER(HI'Sorry you have lost his adventure...'LO,70);
714 SIGNAL QUIT;
715 WIN_ROOM:;
716 call VMFCLEAR;
717 R=24;
718 MINUTES=MINUTES+3;
719 LOC.24='On a Coast Guard Cutter';
720 CALL TIMEM;
721 SAY'After paddling around in the bright yellow raft for a while you were spotted';
722 SAY'by a Coast Guard Vessel. You were brought on board, given clean clothes, fed';
723 SAY'a big meal, and then taken home! You parents were so glad to see you alive';
724 Say'That they forgot all about the new boat you wrecked!';
725 SAY;
726 SAY CENTER(HI'CONGRATULATIONS!!! You have solved this adventure!'LO,72);
727 SIGNAL QUIT;
728 TITLE:;
729 call VMFCLEAR;
730 SAY CENTER(HI'MIKEL RICE PROUDLY PRESENTS',71);
731 SAY;
732 SAY' THE';
733 SAY' MM MM DDDDDDD ';
734 SAY' M M M M D D ';
735 SAY' M M M M NN N D D Y Y';
736 SAY' M MM M N N N D D Y Y ';
737 SAY' M M N N N D D AAAAA Y Y ';
738 SAY' M M OOOOOOOOO N N N D D A A Y Y ';
739 SAY' M M O O N N N D D A A Y ';
740 SAY' M M O O N N N DDDDDDD A A Y ';
741 SAY' O O N N N AAAAAAAAA Y ';
742 SAY' O O N NN A A Y ';
743 SAY' O O A A ';
744 SAY' OOOOOOOOO A A ';
745 SAY' ADVENTURE!';
746 SAY;
747 SAY;
748 R = 6;
749 HOUR = 3;
750 MINUTES = 25;
751 MSG = 0;
752 RAFT=0;
753 UNLOCKED=0;
754 OPENED=0;
755 KNIFE=0;
756 OAR=0;
757 KEY=0;
758 MAP=0;
759 VLIST='GO GETLOODROOPEREAUNLMOVCLIBREMAKDIGHELCUTPADINFKILQUI';
760 NLIST='BOTNOTROCSTUKNIKEYSHOROPDRIBOXPUMSHEDOOTRERAFPADNORSOUEASWES';
761 NLIST=NLIST||'SANMAP';
762 LOC.1 = 'A sandy white beach';
763 EXIT.1 = 'N * E *';
764 LOC.2 = 'A sandy white beach';
765 EXIT.2 = 'N S E *';
766 LOC.3 = 'A sandy white beach';
767 EXIT.3 = 'N S E *';
768 LOC.4 = 'A sandy white beach';
769 EXIT.4 = 'N S E *';
770 LOC.5 = 'A sandy white beach';
771 EXIT.5 = '* S E *';
772 LOC.6 = 'A sandy white beach';
773 EXIT.6 = 'N * E W';
774 LOC.7 = 'A small clearing';
775 EXIT.7 = 'N S E W';
776 LOC.8 = 'In the woods';
777 EXIT.8 = 'N S E W';
778 LOC.9 = 'A grassy field';
779 exit.9 = 'n s e w';
780 LOC.10 = 'A pebble covered beach';
781 exit.10 = '* s e w';
782 LOC.11 = 'A sandy white beach';
783 exit.11 = 'N * E W';
784 LOC.12 = 'In the woods';
785 EXIT.12 = 'n s e w';
786 LOC.13 = 'In the woods';
787 EXIT.13 = 'n s e w';
788 LOC.14 = 'A peacful orchard';
789 exit.14 = 'n s * w';
790 LOC.15 = 'A pebble covered beach';
791 exit.15 = '* s e w';
792 LOC.16 = 'A rocky tidal pool';
793 exit.16 = 'n * * w';
794 LOC.17 = 'A sandy white beach';
795 EXIT.17 = 'N S * W';
796 LOC.18 = 'A sandy white beach';
797 EXIT.18 = 'N S * W';
798 LOC.19 = 'A sandy white beach';
799 exit.19 = 'N S * *';
800 LOC.20 = 'A sandy white beach';
801 exit.20 = '* S * W';
802 LOC.21 = 'A little homemade treehouse';
803 exit.21 = '';
804 LOC.22 = 'In a rusted metal shed';
805 EXIT.22 = '* * E *';
806 LOC.23 = 'In the two-man raft';
807 exit.23 = '* * * w';
808 OBJECT.1.1 = 'BOTTLE';
809 object.1.2 = 6;
810 OBJECT.1.3 = 'There appears to be something in it!';
811 OBJECT.2.1 = 'NOTE';
812 object.2.2 = 0;
813 OBJECT.2.3 = 'There is some writing on it.';
814 OBJECT.3.1 = 'ROCK';
815 object.3.2 = 7;
816 object.3.3 = 'It is big and seems heavy.';
817 object.4.1 = 'tree STUMP';
818 OBJECT.4.2 = 12;
819 object.4.3 = 'Something is carved on it.';
820 object.5.1 = 'KNIFE';
821 OBJECT.5.2 = 0;
822 object.5.3 = 'It is sharp enough to cut wood!';
823 OBJECT.6.1 = 'KEY';
824 OBJECT.6.2 = 0;
825 OBJECT.6.3 = 'It must unlock something...';
826 object.7.1 = 'SHOVEL';
827 OBJECT.7.2 = 21;
828 object.7.3 = "It's an ordinary shovel used for digging.";
829 OBJECT.8.1 = 'ROPE';
830 OBJECT.8.2 = 21;
831 OBJECT.8.3 = "It's tied to the tree and is hanging to the ground.";
832 object.9.1 = 'DRIFTWOOD';
833 OBJECT.9.2 = 5;
834 object.9.3 = "It's a piece from your wrecked boat...";
835 OBJECT.10.1 = 'BOX';
836 OBJECT.10.2 = 21;
837 OBJECT.10.3 = 'It is an ordinary box.';
838 OBJECT.11.1 = 'PUMP';
839 OBJECT.11.2 = 0;
840 OBJECT.11.3 = 'It is rusted but it still works.';
841 object.12.1 = 'metal SHED';
842 OBJECT.12.2 = 19;
843 object.12.3 = "It's is an old abandoned boathouse.";
844 object.13.1 = 'shed DOOR';
845 OBJECT.13.2 = 19;
846 object.13.3 = "You see a keyhole.";
847 object.14.1 = 'Big TREE';
848 OBJECT.14.2 = 14;
849 object.14.3 = "It looks easy to climb.";
850 object.15.1 = 'deflated RAFT';
851 OBJECT.15.2 = 22;
852 object.15.3 = "It's a two-man raft.";
853 object.16.1 = 'PADDLE';
854 OBJECT.16.2 = 0;
855 object.16.3 = "It's looks like a chopped up piece of driftwood...";
856 object.17.1 = 'NORTH';
857 OBJECT.17.2 = 0;
858 object.17.3 = "I see something, maybe I should go there!";
859 object.18.1 = 'SOUTH';
860 OBJECT.18.2 = 0;
861 object.18.3 = "I see something, maybe I should go there!";
862 object.19.1 = 'EAST';
863 OBJECT.19.2 = 0;
864 object.19.3 = "I see something, maybe I should go there!";
865 object.20.1 = 'WEST';
866 OBJECT.20.2 = 0;
867 object.20.3 = "I sEE SOMETHING, Maybe I should go there!";
868 OBJECT.21.1 = 'SAND';
869 OBJECT.21.2 = 6;
870 OBJECT.21.3 = 'It is as white as snow.';
871 OBJECT.22.1 = 'MAP';
872 OBJECT.22.2 = 0;
873 OBJECT.22.3 = 'Something is drawn on it!';
874 SAY CENTER('DO YOU NEED INSTRUCTIONS? (Y/N)?'LO,72);
875 PULL ANSWER;
876 IF ANSWER ^= 'Y' THEN RETURN;
877 call VMFCLEAR;
878 say CENTER(HI'The Monday Adventure'LO,68);
879 SAY;
880 SAY 'Oh boy, what a weekend you had... You went cruising around the bay';
881 say 'Saturday in your NEW boat consuming a case of beer all by yourself.';
882 say 'Last thing you remember you were doing 80 miles per hour splashing';
883 say 'the people in canoes with your wake....';
884 say;
885 say "You wake up on a sandy white beach, but now it is Monday! You don't";
886 say 'remember much about Sunday, but you wrecked your boat and washed';
887 say 'ashore on this little island. Your headache is gone but now you';
888 say 'are really hungry. There is nothing to eat on this island so you';
889 say 'will have to figure a way to get back home. There is one slight';
890 say 'catch. Since you have not eaten in so long you are weak and may';
891 say 'not survive too much longer... Hint: (You die at 4:30 pm)!';
892 say;
893 say center('Press' HI'<ENTER>'LO' to continue',68);
894 PULL DUMMY;
895 call VMFCLEAR;
896 SAY CENTER(HI'The Monday Adventure'LO,68);
897 SAY;
898 Say ' In this adventure you are able to manipulate objects by using a';
899 Say 'VERB NOUN pair. For example if you want to pick up a book you could';
900 Say "type 'GET BOOK'. Then if you wanted to see what the book was about you";
901 Say "could 'READ BOOK'. In some situations you may want to 'OPEN BOOK' to";
902 Say "see if something was hidden in the book. Some VERBS do not need a NOUN";
903 SAY "such as 'INVENTORY' (I), 'DIG', or 'HELP'...just type the verb.";
904 Say;
905 Say ' In this adventure you are limited to the compass directions of:';
906 Say 'NORTH, SOUTH, EAST, and WEST. However, you have other less obvious';
907 Say "exits such as 'GO' (as in GO CAVE), or 'CLIMB' (as in CLIMB WALL).";
908 Say "To move in a direction you could type 'GO NORTH' or 'N' for short.";
909 SAY 'I hope you enjoy playing the MONDAY adventure...Watch the time!!';
910 Say;
911 SAY center('Press' HI'<ENTER>'LO' to continue',68);
912 PULL DUMMY;
913 RETURN;
914 VERBS:;
915 call VMFCLEAR;
916 SAY;
917 SAY CENTER(HI'VERB LIST'LO,60);
918 SAY;
919 SAY ' GO ENTER GET TAKE';
920 SAY ' LOOK EXAMINE DROP OPEN';
921 SAY ' READ UNLOCK MOVE PUSH';
922 SAY ' CLIMB KILL BREAK SMASH';
923 SAY ' MAKE BUILD CUT CARVE';
924 SAY ' INFLATE PUMP PADDLE ROW ';
925 SAY ' INVENTORY * HELP * DIG * QUIT *';
926 SAY;
927 say ' * - These verbs require no noun!';
928 SAY;
929 SAY;
930 SAY ' Press <enter> to continue game';
931 PULL DUMMY;
932 MINUTES=MINUTES-1;
933 RETURN;
934 MAP:;
935 IF MAP=0 THEN SAY"WHAT MAP??";
936 ELSE;
937 IF OBJECT.22.2^=50 THEN SAY"YOU DON'T HAVE THE MAP!";
938 ELSE;
940 call VMFCLEAR;
941 LINE1=' =====================================';
942 LINE3=' | BEACH | BEACH | BEACH | BEACH |';
943 LINE4=' | BEACH | FIELD | WOODS | BEACH |';
944 LINE5=' | BEACH | WOODS | WOODS | BEACH |';
945 LINE6=' | BEACH | ROCK | WOODS | BEACH |';
946 SAY;
947 DO OLOOP =1 TO 5;
948 SAY LINE1;
949 IF OLOOP=1 | OLOOP=5 THEN SAY LINE3;
950 IF OLOOP=2 THEN SAY LINE4;
951 IF OLOOP=3 THEN SAY LINE5;
952 IF OLOOP=4 THEN SAY LINE6;
953 END;
954 SAY LINE1;
955 END;
956 IF MAP^=0 THEN;
958 SAY;
959 SAY;
960 SAY 'The map is old and crudely drawn...in blood!!';
961 SAy;
962 SAY;
963 SAY CENTER('Press' HI'<enter>'LO' to continue game',48);
964 PULL DUMMY;
965 SAY;
966 SAY 'One moment';
967 END;
968 RETURN;
969 QUIT:;
970 SAY;
971 SAY CENTER(HI'Do you wish to play again? (Y/N)?'LO,70);
972 PULL DUMMY;
973 IF DUMMY = 'Y' THEN SIGNAL BEGIN;
974 call VMFCLEAR;
975 call CP "SET MSG ON";
976 EXIT
979 arg cmd args
980 select
981 when cmd = 'SLEEP' then do
982 sleeptime = word(args,1)
983 call time 'r'
984 do until time('e') > sleeptime
988 otherwise nop;
990 return
992 VMFCLEAR:
993 parse source system .
994 if system="UNIX"
995 then "clear"
996 else "cls"
997 return