home *** CD-ROM | disk | FTP | other *** search
Text File | 1990-09-14 | 32.4 KB | 1,106 lines |
- /**********************************************************************
- *
- * This is the MONDAY adventure, by Mikel Rice. It was CRUNCHed by
- * him, so I don't have any of the original comments. I uncrunched
- * it and modified the source code (keeping the original style and
- * wording of the game in tact, of course) so that it would run under
- * both OS/2 and CMS. It was originally written for CMS.
- *
- * PORTABILITY STATMENT: This code is portable to both CMS and OS/2.
- * This portability should be seemless. However, there due to
- * differences in ASCII/EBCDIC converters, you may experience
- * difficulties. The most common are the pipe character (|, if you
- * have the right machine), and the NOT symbol. OS/2 accepts the
- * backslash '\' as NOT, while CMS accepts '^' SHIFT-6 on most
- * terminals.
- *
- * Feel free to port MONDAY to other environments, compile it, or
- * CRUNCH it, but please always give it out with the source code
- * and these comments. MONDAY is freeware, and should NOT be sold.
- *
- * MikeA - 713221.1742@CompuServe.com
- *********************************************************************/
- /* MONDAY optimized via ROPT by MIKEL@UWF on 22 Feb 1987 at 16:47:13 */
- BEGIN:
- PARSE UPPER SOURCE env .
-
- IF env = 'CMS' THEN
- DO
- ECHO_OFF = '*CP SET MSG OFF'
- ECHO_ON = 'CP SET MSG ON'
- ECHO_OFF
- HI='1DE8'x
- LO='1D60'x
- CLEAR_SCR = 'VMFCLEAR'
- END
- ELSE IF env = 'OS/2' THEN
- DO
- ECHO_OFF = '@ECHO OFF'
- ECHO_ON = 'ECHO ON'
- ECHO_OFF
- HI='1B'x || '[1m'
- LO='1B'x || '[0m'
- 'ANSI ON'
- SAY LO
- CLEAR_SCR = 'CLS'
- END
- ELSE
- DO
- SAY 'The MONDAY adventure has not been ported to' env'.'
- EXIT
- END
-
- TOT_NOUNS = 22
- PAUSE=3
- CLEAR_SCR
- CALL TITLE
- CLEAR_SCR
- START:
- DO FOREVER
- CALL QTIME
- SELECT
- WHEN R = 1 THEN CALL ROOM1
- WHEN R = 2 THEN CALL ROOM2
- WHEN R = 3 THEN CALL ROOM3
- WHEN R = 4 THEN CALL ROOM4
- WHEN R = 5 THEN CALL ROOM5
- WHEN R = 6 THEN CALL ROOM6
- WHEN R = 7 THEN CALL ROOM7
- WHEN R = 8 THEN CALL ROOM8
- WHEN R = 9 THEN CALL ROOM9
- WHEN R = 10 THEN CALL ROOM10
- WHEN R = 11 THEN CALL ROOM11
- WHEN R = 12 THEN CALL ROOM12
- WHEN R = 13 THEN CALL ROOM13
- WHEN R = 14 THEN CALL ROOM14
- WHEN R = 15 THEN CALL ROOM15
- WHEN R = 16 THEN CALL ROOM16
- WHEN R = 17 THEN CALL ROOM17
- WHEN R = 18 THEN CALL ROOM18
- WHEN R = 19 THEN CALL ROOM19
- WHEN R = 20 THEN CALL ROOM20
- WHEN R = 21 THEN CALL ROOM21
- WHEN R = 22 THEN CALL ROOM22
- WHEN R = 23 THEN CALL ROOM23
- OTHERWISE CALL END_ROOM
- END
- SAy
- CALL CAN_SEE
- CALL CAN_GO
- CALL COMMAND
- END
- EXIT
- QTIME:
- CLEAR_SCR
- TIMES = '0:00'
- TIMES = OVERLAY(HOUR,TIMES,1,1)
- IF MINUTES>9 THEN TIMES = OVERLAY(MINUTES,TIMES,3,2)
- ELSE
- IF MINUTES<10 THEN TIMES = OVERLAY(MINUTES,TIMES,4,1)
- say left(LOC.R,30) copies(' ',24)'Time: 'TIMES' pm'
- say
- return
- CAN_SEE:
- SEE = ''
- FLG=0
- IF R>0 & R<7 then FLG=1
- ELSE
- IF R=11 THEN FLG=1
- ELSE
- IF R>15 & R<21 THEN FLG=1
- IF FLG=1 THEN OBJECT.21.2=R
- DO I = 1 to TOT_NOUNS
- If OBJECT.I.2 = R THEN SEE = SEE||OBJECT.I.1||' '
- END I
- IF SEE = '' THEN SEE = 'Nothing of Interest'
- Say 'You can see: 'SEE
- Say
- RETURN
- CAN_GO:
- GO=''
- PARSE UPPER VAR EXIT.R NOR SOU EAS WES
- IF NOR = 'N' THEN GO = GO||'NORTH '
- IF SOU = 'S' THEN GO = GO||'SOUTH '
- IF EAS = 'E' THEN GO = GO||'EAST '
- IF WES = 'W' THEN GO = GO||'WEST'
- IF GO='' THEN GO='???'
- SAY 'Obvious exits: 'GO
- Say copies('=',70)
- Say
- RETURN
- COMMAND:
- N = 0
- V = 0
- FLAG = 0
- If MSG = 0 then
- DO
- MSG = 1
- SAY 'Welcome to 'HI'The Monday Adventure'LO' ( NOVICE LEVEL )'
- SAY '(C)opyright 1986 / 1987 BY: MIKEL F. RICE (MIKEL @ UWF)'
- SAY 'Ported to OS/2 by Michael J. Antonio (713221.1742@CompuServe.com)'
- SAY 'Dedicated to: Tanya E. Bortels'
- END
- rnd = random(1,6)
- if rnd = 1 then command = 'What next?'
- if rnd = 2 then command = 'What will you do?'
- if rnd = 3 then command = 'Now what?'
- if rnd = 4 then command = 'Your request?'
- if rnd = 5 then command = 'What do you want to do?'
- if rnd = 6 then command = 'What will you try now?'
- SAY
- say command
- PARSE UPPER PULL instruct
- say
- If instruct = 'I' then instruct = 'INV'
- parse var instruct verbin nounin
- verb = left(verbin,3)
- noun = left(nounin,3)
- If verb = 'LOO' & noun = '' then SIGNAL START
- IF (VERB ='NOR' | VERB='SOU') | (VERB ='EAS' | VERB ='WES')
- THEN SIGNAL GO
- ELSE
- If (VERB= 'N' | VERB= 'S') | (VERB= 'E' | VERB= 'W') THEN SIGNAL GO
- ELSE
- IF VERB = 'U' | VERB = 'D' THEN SIGNAL GO
- select
- when VERB = 'QUI' then SIGNAL QUIT
- when VERB = 'INV' then CALL INVENTORY
- when VERB = 'HEL' then CALL HELP
- when VERB = 'VER' THEN CALL VERBS
- when VERB = 'DIG' then CALL DIG
- WHEN VERB = 'PAU' THEN PAUSE = NOUN
- otherwise flag = 1
- END
- If flag = 0 then signal delay
- If length(instruct) < 4
- then DO
- Say "WHAT??? I don't understand that."
- SIGNAL DELAY
- END
- If NOUN = '' THEN
- DO
- SAY 'That verb requires a NOUN.'
- Signal DELAY
- END
- If verb = 'ENT' THEN VERB = 'GO '
- If verb = 'TAK' THEN VERB = 'GET'
- If verb = 'EXA' THEN VERB = 'LOO'
- If verb = 'SMA' THEN VERB = 'BRE'
- If verb = 'BUI' THEN VERB = 'MAK'
- If verb = 'CAR' THEN VERB = 'CUT'
- If verb = 'PUM' THEN VERB = 'INF'
- If verb = 'PUS' THEN VERB = 'MOV'
- If verb = 'ROW' THEN VERB = 'PAD'
- If verb = 'STA' THEN VERB = 'KIL'
- V=POS(VERB,VLIST)
- N=POS(NOUN,NLIST)
- IF V=0 THEN
- DO
- SAY "I don't understand that VERB!"
- SIGNAL DELAY
- END
- ELSE
- V =(V%3)+1
- IF N=0 THEN
- DO
- SAY "I don't understand that NOUN!"
- SIGNAL DELAY
- END
- ELSE
- N =(n%3)+1
- SELECT
- WHEN V = 1 THEN SIGNAL GO
- WHEN V = 2 then CALL GET
- WHEN V = 3 THEN CALL LOOK
- WHEN V = 4 THEN CALL DROP
- WHEN V = 5 THEN CALL OPEN
- WHEN V = 6 THEN CALL READ
- WHEN V = 7 THEN CALL UNLOCK
- WHEN V = 8 THEN CALL MOVE
- WHEN V = 9 THEN CALL CLIMB
- WHEN V = 10 THEN CALL BREAK
- WHEN V = 11 THEN CALL MAKE
- WHEN V = 12 THEN CALL DIG
- WHEN V = 14 THEN CALL CUT
- WHEN V = 15 THEN CALL PADDLE
- WHEN V = 16 THEN CALL INFLATE
- WHEN V = 17 THEN SAY "This is a non-violent adventure!!"
- OTHERWISE NOP
- END
- DELAY:
- CALL TIMER
- CALL WAIT PAUSE
- RETURN
- TIMER:
- MINUTES = MINUTES + 1
- If MINUTES = 60
- THEN DO
- MINUTES = 0
- HOUR = HOUR + 1
- END
- IF HOUR = 4 & MINUTES >= 30 THEN SIGNAL END_ROOM
- IF HOUR =4 & MINUTES =20 THEN
- SAY 'You feel very weak...Watch the time.'
- IF HOUR =4 & MINUTES =10 THEN
- SAY 'You feel very hungry!'
- IF HOUR =4 & MINUTES >26 THEN
- SAY 'Gasp...pant...cough!'
- RETURN
- INVENTORY:
- SAY
- ITEM =''
- DO I = 1 to TOT_NOUNS
- IF OBJECT.I.2 = 50 THEN ITEM = ITEM||OBJECT.I.1' '
- END I
- IF ITEM = '' THEN ITEM = 'NOTHING!'
- SAY 'You are carrying: 'ITEM
- RETURN
- HELP:
- IF R=6 THEN SAY 'Try examining things...'
- ELSE
- IF R=9 THEN SAY "If at first you don't succeed..."
- ELSE
- IF R=12 THEN SAY 'I once carved my name in a tree stump!'
- ELSE
- IF R=14 THEN
- SAY 'Look a tree!'
- ELSE
- IF R=21 THEN
- SAY 'LOOK at the rope!'
- ELSE
- DO
- RND=RANDOM(1,6)
- SELECT
- WHEN RND=1 THEN SAY "CAN'T YOU DO ANYTHING ON YOUR OWN?"
- WHEN RND=2 THEN SAY "I'M AS CONFUSED AS YOU ARE!"
- WHEN RND=3 THEN SAY "TRY EXAMINING THINGS..."
- WHEN RND=4 THEN SAY "WHO IS PLAYING THIS GAME, ME OR YOU?"
- WHEN RND=5 THEN SAY "NOT NOW I'M BUSY!"
- OTHERWISE SAY "TYPE 'VERBS' FOR MORE HELP!"
- END
- END
- RETURN
- GO:
- FLG = 0
- VB = LEFT(VERB,1)
- NN = LEFT(NOUN,1)
- SELECT
- WHEN ((NOUN="SHE" | NOUN="DOO") & (OPENED=1 & R=19)) THEN R=22
- WHEN ((NOUN="SHE" | NOUN="DOO") & (OPENED=0 & R=19)) THEN CALL DOOR
- WHEN R=22 & (VB='E' | NN='E') THEN R=19
- WHEN R=23 & (VB='W' | NN='W') THEN R=19
- WHEN NOUN="RAF" THEN CALL INRAFT
- WHEN NOR='N' & (VB ='N' | NN='N') THEN R = R + 1
- WHEN SOU='S' & (VB ='S' | NN='S') THEN R = R - 1
- WHEN EAS='E' & (VB ='E' | NN='E') THEN R = R + 5
- WHEN WES='W' & (VB ='W' | NN='W') THEN R = R - 5
- OTHERWISE FLG = 1
- END
- IF (VB='D' | VB='U') | (NN='D' | NN='U') THEN
- DO
- SAY 'TRY CLIMB instead...'
- FLG = 0
- END
- IF FLG=1 then
- DO
- SAY 'There is no way to go in that direction!'
- SIGNAL DELAY
- END
- ELSE
- CALL TIMER
- SIGNAL START
- DOOR:
- IF OPENED=0 & UNLOCKED=0 THEN
- DO
- SAY 'The door is locked!'
- END
- ELSE
- IF OPENED=0 & UNLOCKED=1 THEn
- Do
- SAY 'The shed door is closed!'
- END
- CALL WAIL PAUSE
- RETURN
- LOOK:
- IF N=21 THEN OBJECT.N.2 = R
- If N>16 & n<21 THEN SAY OBJECT.N.3
- ELSE
- IF OBJECT.N.2 \= R & Object.n.2 \= 50
- THEN SAY "I don't see the "OBJECT.N.1" here now..."
- ELSE SAY OBJECT.N.3
- RETURN
- GET:
- COUNT = 0
- DO I = 1 to TOT_NOUNS
- If OBJECT.I.2 = 50 then COUNT = COUNT + 1
- END I
- IF COUNT > 4 THEN
- DO
- RND = RANDOM(1,3)
- SELECT
- WHEN RND=1 THEN
- SAY "You can't carry anymore. Try 'INVENTORY'"
- WHEN RND=2 THEN
- SAY 'You are carrying too much stuff. Try "INVENTORY"'
- WHEN RND=3 THEN
- SAY 'You have too much. Try "INVENTORY"'
- OTHERWISE NOP
- END
- RETURN
- END
- If OBJECT.N.2 =50 THEN SAY "You're already carrying that!"
- ELSE
- If OBJECT.N.2 \=R THEN SAY "I don't see "OBJECT.N.1" here."
- If OBJECT.N.2 = R THEN
- DO
- SELECT
- WHEN N=3 THEN Say 'It is too heavy to lift, maybe you can move it.'
- WHEN N=4 THEN Say "Don't be stupid!"
- WHEN N=8 THEN Say 'It is tied to the tree with a strong knot.'
- WHEN N=12 THEN Say 'It is cemented to the ground.'
- WHEN N=13 THEN Say 'It is hinged to the shed.'
- WHEN N=14 THEN Say "Don't be silly!"
- WHEN N=15 & RAFT=1 THEN
- SAY "You can't carry the raft if it's inflated"
- WHEN n=21 THEN SAY 'Leave the sand alone...'
- OTHERWISE
- OBJECT.N.2 = 50
- SAY 'Okay! You now have the 'OBJECT.N.1
- END
- END
- RETURN
- DROP:
- If OBJECT.N.2 \= 50 THEN SAY "You aren't holding that."
- ELSE
- DO
- SAY 'Okay! 'OBJECT.n.1' has been dropped!.'
- OBJECT.N.2 = R
- END
- RETURN
- OPEN:
- FLG=0
- IF N=1 & OBJECT.N.2=50 & OBJECT.2.2=0 then
- DO
- SAY 'Hey! You found something!'
- OBJECT.1.3= "It's just an empty bottle"
- OBJECT.2.2=R
- FLG=1
- END
- Else
- If N=1 & OBJECT.N.2\=50 then
- DO
- Say "You don't have that item!"
- FLG=1
- END
- ELSE
- IF N=1 & OBJECT.2.2>0 THEN
- Do
- SAY 'It is already open!'
- FLG=1
- END
- If N=10 & OBJECT.N.2=50 THEN
- DO
- SAY 'Hey! You found something!'
- OBJECT.11.2=R
- FLG=1
- END
- Else
- If N=10 then
- DO
- Say "You don't have that item!"
- FLG=1
- END
- IF R\=19 THEN FLG=FLG
- ELSE
- If (N=12 | N=13) & (UNLOCKED=1 & OPENED=0) THEN
- DO
- SAY 'The door to the shed is now open!'
- OPENED=1
- FLG=1
- END
- ELSE
- IF (N=12 | N=13) & UNLOCKED=0 THEN
- DO
- SAY 'The door to the shed is locked!'
- FLG=1
- END
- If FLG=0 THEN SAY "I must be stupid, but I can't open that!"
- RETURN
- READ:
- FLG=0
- IF N=2 & OBJECT.N.2=50 then
- Do
- Say 'Hello there. I just want to take this time (1 turn) to wish you'
- Say 'good luck! For some extra help type "VERBS"... Mikel Rice!'
- FLG=1
- CALL WAIT 3
- End
- Else
- If N=2 & OBJECT.2.2\=50 THEN
- DO
- SAY "You don't have that!"
- FLG=1
- END
- If N=1 THEN
- DO
- SAY 'The label has washed off...'
- FLG=1
- END
- If N=4 & OBJECT.N.2=R THEN
- Do
- SAY 'Carved on the stump: The key lies under the field of flowers!'
- FLG=1
- END
- Else
- If N=4 & FLG=0 THEN SAY "I don't see a stump here..."
- If N=10 & (OBJECT.N.2=50 | OBJECT.N.2=R) THEN
- DO
- SAY 'It top reads: ACME Hardware Co.'
- FLG=1
- END
- ELSE
- IF N\=22 & FLG=0 THEN SAY 'How can you read that?'
- ELSE
- IF FLG=0 THEN CALL MAP
- RETURN
- UNLOCK:
- IF R\=19 THEN SAY "I don't see a shed here!"
- ELSE
- If (N=12 | N=13) & UNLOCKED=1 THEN SAY 'The shed is already unlocked!'
- ELSE
- If (N=12 | N=13) & OBJECT.6.2\=50 THEN SAY "You don't have the key!"
- ELSE
- If (N=12 | N=13) & (UNLOCKED=0 & OBJECT.6.2=50) THEN
- DO
- Say "The key fits. You turn it and unlock the door to the shed."
- UNLOCKED=1
- END
- ELSE SAY "I must be stupid, but I Can't unlock that!"
- RETURN
- MOVE:
- FLG=0
- If (N=4 | N=12) | (N=13 | N=14) THEN
- DO
- SAY 'Only in your dreams...'
- FLG=1
- END
- IF (N=3 & R=7) & KNIFE=0 THEN
- DO
- SAY 'Hey! You found something!'
- KNIFE=1
- OBJECT.5.2=R
- FLG=1
- END
- IF OBJECT.N.2\=R THEN
- Do
- Say "I don't see that here."
- FLG=1
- END
- If FLG=0 then say "Okay but nothing happened!"
- RETURN
- CLIMB:
- IF R=14 & N=14 THEN
- Do
- Say 'Ugh...That was hard work....'
- R=21
- END
- ElSE
- IF R=21 & (N=8 | N=14) THEN
- DO
- SAY 'PANT...That was tough....'
- R=14
- END
- ELSE SAY 'Why do you want to climb that?'
- RETURN
- BREAK:
- IF N=1 & OBJECT.N.2=50 & OBJECT.2.2=0 then
- DO
- SAY 'Hey! You found something!'
- OBJECT.2.2=R
- OBJECT.N.2=0
- END
- ELSE
- IF N=1 & OBJECT.N.2\=50 tHEN SAY "I don't have that."
- ELSE SAY "Don't be so destructive!!"
- RETURN
- MAKE:
- If N\=16 THEN SAY "I must be stupid, but I just don't understand you!"
- ELSE
- If OAR=0 & (OBJECT.5.2=50 & OBJECT.9.2=50) THEN
- DO
- SAY 'Using the knife you make a primitive paddle from the driftwood'
- OBJECT.9.2=0
- OBJECT.16.2=50
- OAR=1
- END
- ELSE
- If OAR=0 & (OBJECT.5.2\=50 | OBJECT.9.2\=50)
- THEN Say "You don't have enough material to make a paddle."
- ELSE
- If OAR=1 then Say 'you already made a paddle.'
- ELSE
- IF OAR=2 THEN SAY "You can't make a paddle with a broken knife!!"
- RETURN
- DIG:
- IF R\=9 & OBJECT.7.2=50 THEN SAY "All all you found is dirt..."
- ELSE
- IF OBJECT.7.2\=50 THEN SAY "You don't have a shovel!"
- ELSE
- IF KEY=0 THEN
- DO
- SAY 'You dug a small hole but found nothing...'
- SAY 'Wait! Look there is something...'
- KEY=1
- MAP=1
- OBJECT.22.2=R
- END
- ELSE
- IF KEY=1 then
- Do
- SAY "Hey! You found something!"
- OBJECT.6.2=R
- KEY=2
- END
- RETURN
- CUT:
- IF N=8 & OBJECT.5.2=50 & R=21 THEN
- SAY 'If you cut the rope how will you get down?'
- ELSE
- IF (N=14 | N=4) & (OBJECT.5.2=50 & R=14) THEN
- DO
- Say 'The knife can cut most types of wood just not oak!'
- SAY 'The hard oak wood busted the knife!'
- OAR=2
- END
- ELSE
- IF N=9 THEN
- DO
- N=16
- SIGNAL MAKE
- END
- ELSE
- IF n=16 then SIGNAL MAKE
- ELSE
- If n=4 THEN SAY "Aw...leave the poor tree stump alone!"
- ELSE SAY "Don't be so destructive!!"
- RETURN
- PADDLE:
- IF R\=23 then say "You aren't in the raft!"
- ELSE
- If OBJECT.16.2\=50 THEN
- SAY "You don't have a paddle! Maybe you could MAKE one."
- ELSE SIGNAL WIN_ROOM
- RETURN
- INFLATE:
- If N\=15 THEN SAY "I don't know how to inflate that!"
- ELSE
- IF OBJECT.11.2\=50 THEN SAY "You don't have a pump!"
- ELSE
- If OBJECT.15.2=50 THEN SAY "You can't inflate it while holding it!"
- ELSE
- IF (R>6 & R<10) | (R>11 & R<15) | (r>20)
- THEN SAY "You must be at the beach to inflate the raft!"
- ELSE
- IF RAFT=1 then SAY "It's already inflated!"
- ELSE
- DO
- SAY 'Phfsss...phfsss...phfsss...Okay you inflated it!'
- OBJECT.15.1='inflated RAFT'
- RAFT=1
- MINUTES=MINUTES+1
- END
- RETURN
- INRAFT:
- IF RAFT=0 THEN SAY "It isn't inflated!"
- ELSE
- IF OBJECT.15.2\=r THEN SAY "The raft isn't here!!!"
- ELSE
- IF OBJECT.5.2\=50 THEN
- Do
- R=23
- SIGNAL START
- end
- ELSE
- DO
- SAY "Oh no! The knife punctured the raft and you can't swim!!"
- CALL WAIT 3
- SIGNAL END_ROOM
- END
- RETURN
- ROOM1:
- Say 'The beach is long, strecthing out of sight to the east and north. The'
- Say 'sand is cool and wet and feels good between your toes.',
- 'The blue waters'
- Say 'of the ocean are to the south and west.'
- RETURN
- ROOM2:
- SAY 'The white sand strecthes onward to the north and to the south.',
- 'The sun'
- Say 'makes the sand seem to glow. The blue ocean water is to the west',
- 'and'
- Say 'there is a clearing to the east.'
- RETURN
- ROOM3:
- SAY 'More white sandy beaches that seem to go on and on. This island would'
- Say 'be a great place to build a fancy summer resort. The ocean is to the'
- Say 'west and to the east you see a group of trees.'
- RETURN
- ROOM4:
- SAY 'The white sand is hot to your bare feet. A quick wave washes',
- 'up around'
- SAY 'your ankles then ebbs back into the sea. The sun sparkles upon',
- 'the water'
- Say 'in ever changing patterns. You can see a field to the east.'
- RETURN
- ROOM5:
- Say 'The beach runs out of sight to the south and to the east.',
- 'Water is to the'
- SAY 'north and west of you. Far out on the horizon you can barely make',
- 'out a'
- Say 'ship sailing slowly through the choppy seas.'
- RETURN
- ROOM6:
- Say 'On a beautiful white beach of a small deserted island. Just a few',
- 'yards'
- Say 'off shore, smashed upon some outcroping rocks, is the remains of',
- 'your boat'
- SAY 'You notice that the sun feels really hot today.'
- RETURN
- ROOM7:
- Say 'A small clearing just beyond the white beaches. The grass is',
- 'growing in'
- Say 'patches of green and brown. Overhead some sea gulls float on the',
- 'tropical'
- Say 'breezes. To the north and east you see trees and the beach is to the'
- Say 'south and west.'
- RETURN
- ROOM8:
- Say 'Standing in the woods under several tall trees. The trees filter',
- 'the hot'
- Say 'sun creating a cool shade. The ground is blanketed with a varity',
- 'of colored'
- Say 'leaves. It is very peaceful here.'
- RETURN
- ROOM9:
- Say 'The grass is a lush green and the meadow is dotted with white',
- 'and yellow'
- Say 'daisies and violet snap-dragons. The air is fresh and smells',
- 'sweet with'
- Say 'the fragrance of the flowers. A gentle breeze ruffles the grasses.'
- RETURN
- ROOM10:
- Say 'The beach is covered with small pebbles washed smooth by the',
- 'ocean tides'
- Say 'The wet pebbles sparkle in the shinning sunlight. A cool breeze',
- 'blows of'
- Say 'the dark blue water. A fiddler crab darts back and forth across',
- 'the sand'
- RETURN
- ROOM11:
- Say 'Sand, sand, and more sand. The beach runs on to the east and to',
- 'the west.'
- Say 'The sun is blocked out by a cloud for a short moment but it soon',
- 'drifts'
- Say 'past and once again the sun beats down upon you. You can see some',
- 'trees'
- say 'up to the north and the ocean is to the south.'
- RETURN
- ROOM12:
- Say 'A small grove of trees on a slight enbankment. The beach is down',
- 'to the'
- Say 'south and to the East. The leaves on the trees are a mixture of',
- 'reds and'
- Say 'greens. A soft breeze shakes several leaves from the branches and',
- 'they'
- Say 'flutter to the ground.'
- RETURN
- ROOM13:
- Say 'You are surrounded by tall trees. The trees cast long eerie',
- 'shadows upon'
- Say 'the ground and the limbs seem to be reaching out to grab you.',
- 'You begin'
- Say 'to whistle and look nervously around. You jump as a twig snaps',
- 'beneath'
- Say 'your feet. A quick chill runs down your spine.'
- RETURN
- ROOM14:
- say 'The trees have thinned out and more sunlight filters through. A',
- 'tall oak'
- Say 'stands amidst the smaller trees like a proud parent. There is a',
- 'wall of'
- Say 'thick bushes and underbrush to the east. A bird sings a happy',
- 'tune from'
- Say "it's unseen perch high above you."
- RETURN
- ROOM15:
- Say 'The wet sand feels cool to your feet. Lying on the sand is a',
- 'small orange'
- Say 'starfish. A wave rolls up and pulls it back into the sea. Small',
- 'pebbles'
- Say 'a beautiful sea shells are scattered along the shore. You look',
- 'out over'
- SAY 'the waves and see a school of dolphins swimming around.'
- RETURN
- Room16:
- SAY 'A tidal pool has formed in the scattered rock formations. You',
- 'wade out'
- SAY 'into the shallow water and feel refreshed. For some reason you start'
- SAY 'thinking how good a fish sandwhich would taste now. You notice some'
- SAY 'small minnows darting around in the pool. You try to catch them but'
- SAY 'they are too fast for you.'
- RETURN
- Room17:
- SAY 'The beach is long, strecthing out of sight to the North and',
- 'South. The'
- SAY 'sand is cool and wet and feels good between your toes. The blue',
- 'waters'
- SAY 'of the ocean are to the east and you see some trees to the west.'
- RETURN
- Room18:
- SAY 'So much white sand all around you. You begin to wish you had',
- 'never seen'
- SAY 'a beach. Suddenly you notice a person lying on a towel soaking up the'
- SAY 'warm rays of the sun. You rub your eyes and realize your mind is',
- 'playing'
- Say 'tricks on you because there is no one there only sand...'
- RETURN
- Room19:
- Say 'The ground here is more sturdy and the walking is easier here.',
- 'You see'
- Say 'a rusted metal shed that was once a boathouse. Time and weather have'
- Say 'peeled most of the paint off but it seems to be holding together. To'
- Say 'the west is a length of thick underbrush which makes traveling',
- 'in that'
- Say 'direction impossible. The ocean is present to the east.'
- RETURN
- ROOM20:
- Say 'This is the northeast corner of the island. The tide appears to be',
- 'going'
- Say 'out now. The sun is getting ever lower in the sky and the',
- 'temperature is'
- Say 'beginning to drop. Your stomach growls loudly and that fish sandwhich'
- Say 'comes to mind again.'
- RETURn
- ROOM21:
- Say 'You step cautiously around the treehouse until you decide that',
- 'it is well'
- Say 'built and then you relax. From your vantage point you can see the',
- 'entire'
- Say 'island. To the north you see the beach, to the west you see a meadow,'
- Say 'to the South you see more trees, and to the east you see the beach',
- 'and'
- Say 'there appears to be a small building there. You feel like a kid again'
- Say 'and give your best tarzan yell...'
- RETURN
- ROOM22:
- Say 'The shed is small and appears to have been unused for a long',
- 'time. As you'
- Say 'enter a large rat scurries off into a dark corner. Cobwebs hang',
- 'from each'
- Say 'of the four corners. The shed is mostly empty save a few usless',
- 'items that'
- Say 'are scattered about. The door squeaks as it sways in the wind.'
- RETURN
- ROOM23:
- Say 'You are in the inflatable two-man raft. The waves gently rock the',
- 'bright'
- Say 'yellow raft on the swelling billows. The raft seems to holding',
- 'the air'
- Say 'there are no apparent leaks. A couple of curious sea gulls swoop',
- 'in for'
- Say 'a closer inspection. Funny how sea gulls remind you of fried Chicken!'
- RETURN
- END_ROOM:
- CLEAR_SCR
- SAY 'In a pine coffin six feet under!'copies(' ',28)'Time: Eternity'
- SAY
- SAY 'The coffin is cold and damp. The air is foul and musty. Mildew and other'
- Say 'fungi have begun to cultivate on your clothing. The roses on your grave'
- Say 'have long since wilted and died. Already the small sprouts of new grass'
- Say 'have began to grow in the fresh top soil. All is cold and lifeless.'
- say
- SAY CENTER(HI'Sorry you have lost his adventure...'LO,70)
- SIGNAL QUIT
- WIN_ROOM:
- CLEAR_SCR
- R=24
- MINUTES=MINUTES+3
- LOC.24='On a Coast Guard Cutter'
- CALL QTIME
- SAY 'After paddling around in the bright yellow raft for a while you were',
- 'spotted'
- SAY 'by a Coast Guard Vessel. You were brought on board, given clean',
- 'clothes, fed'
- SAY 'a big meal, and then taken home! You parents were so glad to see',
- 'you alive'
- SAY 'That they forgot all about the new boat you wrecked!'
- SAY
- SAY CENTER(HI'CONGRATULATIONS!!! You have solved this adventure!'LO,72)
- SIGNAL QUIT
- TITLE:
- CLEAR_SCR
- SAY CENTER(HI'MIKEL RICE PROUDLY PRESENTS',71)
- SAY
- SAY ' THE'
- SAY ' MM MM DDDDDDD '
- SAY ' M M M M D D '
- SAY ' M M M M NN N D D Y Y'
- SAY ' M MM M N N N D D Y Y '
- SAY ' M M N N N D D AAAAA Y Y '
- SAY ' M M OOOOOOOOO N N N D D A A Y Y '
- SAY ' M M O O N N N D D A A Y '
- SAY ' M M O O N N N DDDDDDD A A Y '
- SAY ' O O N N N AAAAAAAAA Y '
- SAY ' O O N NN A A Y '
- SAY ' O O A A '
- SAY ' OOOOOOOOO A A '
- SAY ' ADVENTURE!'
- SAY
- SAY
- R = 6
- HOUR = 3
- MINUTES = 25
- MSG = 0
- RAFT=0
- UNLOCKED=0
- OPENED=0
- KNIFE=0
- OAR=0
- KEY=0
- MAP=0
- VLIST='GO GETLOODROOPEREAUNLMOVCLIBREMAKDIGHELCUTPADINFKILQUI'
- NLIST='BOTNOTROCSTUKNIKEYSHOROPDRIBOXPUMSHEDOOTRERAFPADNORSOUEASWES'
- NLIST=NLIST||'SANMAP'
- LOC.1 = 'A sandy white beach'
- EXIT.1 = 'N * E *'
- LOC.2 = 'A sandy white beach'
- EXIT.2 = 'N S E *'
- LOC.3 = 'A sandy white beach'
- EXIT.3 = 'N S E *'
- LOC.4 = 'A sandy white beach'
- EXIT.4 = 'N S E *'
- LOC.5 = 'A sandy white beach'
- EXIT.5 = '* S E *'
- LOC.6 = 'A sandy white beach'
- EXIT.6 = 'N * E W'
- LOC.7 = 'A small clearing'
- EXIT.7 = 'N S E W'
- LOC.8 = 'In the woods'
- EXIT.8 = 'N S E W'
- LOC.9 = 'A grassy field'
- exit.9 = 'n s e w'
- LOC.10 = 'A pebble covered beach'
- exit.10 = '* s e w'
- LOC.11 = 'A sandy white beach'
- exit.11 = 'N * E W'
- LOC.12 = 'In the woods'
- EXIT.12 = 'n s e w'
- LOC.13 = 'In the woods'
- EXIT.13 = 'n s e w'
- LOC.14 = 'A peacful orchard'
- exit.14 = 'n s * w'
- LOC.15 = 'A pebble covered beach'
- exit.15 = '* s e w'
- LOC.16 = 'A rocky tidal pool'
- exit.16 = 'n * * w'
- LOC.17 = 'A sandy white beach'
- EXIT.17 = 'N S * W'
- LOC.18 = 'A sandy white beach'
- EXIT.18 = 'N S * W'
- LOC.19 = 'A sandy white beach'
- exit.19 = 'N S * *'
- LOC.20 = 'A sandy white beach'
- exit.20 = '* S * W'
- LOC.21 = 'A little homemade treehouse'
- exit.21 = ''
- LOC.22 = 'In a rusted metal shed'
- EXIT.22 = '* * E *'
- LOC.23 = 'In the two-man raft'
- exit.23 = '* * * w'
- OBJECT.1.1 = 'BOTTLE'
- object.1.2 = 6
- OBJECT.1.3 = 'There appears to be something in it!'
- OBJECT.2.1 = 'NOTE'
- object.2.2 = 0
- OBJECT.2.3 = 'There is some writing on it.'
- OBJECT.3.1 = 'ROCK'
- object.3.2 = 7
- object.3.3 = 'It is big and seems heavy.'
- object.4.1 = 'tree STUMP'
- OBJECT.4.2 = 12
- object.4.3 = 'Something is carved on it.'
- object.5.1 = 'KNIFE'
- OBJECT.5.2 = 0
- object.5.3 = 'It is sharp enough to cut wood!'
- OBJECT.6.1 = 'KEY'
- OBJECT.6.2 = 0
- OBJECT.6.3 = 'It must unlock something...'
- object.7.1 = 'SHOVEL'
- OBJECT.7.2 = 21
- object.7.3 = "It's an ordinary shovel used for digging."
- OBJECT.8.1 = 'ROPE'
- OBJECT.8.2 = 21
- OBJECT.8.3 = "It's tied to the tree and is hanging to the ground."
- object.9.1 = 'DRIFTWOOD'
- OBJECT.9.2 = 5
- object.9.3 = "It's a piece from your wrecked boat..."
- OBJECT.10.1 = 'BOX'
- OBJECT.10.2 = 21
- OBJECT.10.3 = 'It is an ordinary box.'
- OBJECT.11.1 = 'PUMP'
- OBJECT.11.2 = 0
- OBJECT.11.3 = 'It is rusted but it still works.'
- object.12.1 = 'metal SHED'
- OBJECT.12.2 = 19
- object.12.3 = "It's is an old abandoned boathouse."
- object.13.1 = 'shed DOOR'
- OBJECT.13.2 = 19
- object.13.3 = "You see a keyhole."
- object.14.1 = 'Big TREE'
- OBJECT.14.2 = 14
- object.14.3 = "It looks easy to climb."
- object.15.1 = 'deflated RAFT'
- OBJECT.15.2 = 22
- object.15.3 = "It's a two-man raft."
- object.16.1 = 'PADDLE'
- OBJECT.16.2 = 0
- object.16.3 = "It's looks like a chopped up piece of driftwood..."
- object.17.1 = 'NORTH'
- OBJECT.17.2 = 0
- object.17.3 = "I see something, maybe I should go there!"
- object.18.1 = 'SOUTH'
- OBJECT.18.2 = 0
- object.18.3 = "I see something, maybe I should go there!"
- object.19.1 = 'EAST'
- OBJECT.19.2 = 0
- object.19.3 = "I see something, maybe I should go there!"
- object.20.1 = 'WEST'
- OBJECT.20.2 = 0
- object.20.3 = "I sEE SOMETHING, Maybe I should go there!"
- OBJECT.21.1 = 'SAND'
- OBJECT.21.2 = 6
- OBJECT.21.3 = 'It is as white as snow.'
- OBJECT.22.1 = 'MAP'
- OBJECT.22.2 = 0
- OBJECT.22.3 = 'Something is drawn on it!'
- SAY CENTER('DO YOU NEED INSTRUCTIONS? (Y/N)?'LO,72)
- PULL ANSWER
- IF ANSWER \= 'Y' THEN RETURN
- CLEAR_SCR
- say CENTER(HI'The Monday Adventure'LO,68)
- SAY
- SAY 'Oh boy, what a weekend you had... You went cruising around the bay'
- say 'Saturday in your NEW boat consuming a case of beer all by yourself.'
- say 'Last thing you remember you were doing 80 miles per hour splashing'
- say 'the people in canoes with your wake....'
- say
- say "You wake up on a sandy white beach, but now it is Monday! You don't"
- say 'remember much about Sunday, but you wrecked your boat and washed'
- say 'ashore on this little island. Your headache is gone but now you'
- say 'are really hungry. There is nothing to eat on this island so you'
- say 'will have to figure a way to get back home. There is one slight'
- say 'catch. Since you have not eaten in so long you are weak and may'
- say 'not survive too much longer... Hint: (You die at 4:30 pm)!'
- say
- say center('Press 'HI'<ENTER>'LO' to continue',68)
- PULL DUMMY
- CLEAR_SCR
- SAY CENTER(HI'The Monday Adventure'LO,68)
- SAY
- Say ' In this adventure you are able to manipulate objects by using a'
- Say 'VERB NOUN pair. For example if you want to pick up a book you could'
- Say "type 'GET BOOK'. Then if you wanted to see what the book was about you"
- Say "could 'READ BOOK'. In some situations you may want to 'OPEN BOOK' to"
- Say "see if something was hidden in the book. Some VERBS do not need a NOUN"
- SAY "such as 'INVENTORY' (I), 'DIG', or 'HELP'...just type the verb."
- Say
- Say ' In this adventure you are limited to the compass directions of:'
- Say 'NORTH, SOUTH, EAST, and WEST. However, you have other less obvious'
- Say "exits such as 'GO' (as in GO CAVE), or 'CLIMB' (as in CLIMB WALL)."
- Say "To move in a direction you could type 'GO NORTH' or 'N' for short."
- SAY 'I hope you enjoy playing the MONDAY adventure...Watch the time!!'
- Say
- SAY center('Press 'HI'<ENTER>'LO' to continue',68)
- PULL DUMMY
- RETURN
- VERBS:
- CLEAR_SCR
- SAY
- SAY CENTER(HI'VERB LIST'LO,60)
- SAY
- SAY ' GO ENTER GET TAKE'
- SAY ' LOOK EXAMINE DROP OPEN'
- SAY ' READ UNLOCK MOVE PUSH'
- SAY ' CLIMB KILL BREAK SMASH'
- SAY ' MAKE BUILD CUT CARVE'
- SAY ' INFLATE PUMP PADDLE ROW '
- SAY ' INVENTORY * HELP * DIG * QUIT *'
- SAY
- say ' * - These verbs require no noun!'
- SAY
- SAY
- SAY ' Press <enter> to continue game'
- PULL DUMMY
- MINUTES=MINUTES-1
- RETURN
- MAP:
- IF MAP=0 THEN SAY "WHAT MAP??"
- ELSE
- IF OBJECT.22.2\=50 THEN SAY "YOU DON'T HAVE THE MAP!"
- ELSE
- DO
- CLEAR_SCR
- LINE1=' ====================================='
- LINE3=' | BEACH | BEACH | BEACH | BEACH |'
- LINE4=' | BEACH | FIELD | WOODS | BEACH |'
- LINE5=' | BEACH | WOODS | WOODS | BEACH |'
- LINE6=' | BEACH | ROCK | WOODS | BEACH |'
- SAY
- DO OLOOP =1 TO 5
- SAY LINE1
- IF OLOOP=1 | OLOOP=5 THEN SAY LINE3
- IF OLOOP=2 THEN SAY LINE4
- IF OLOOP=3 THEN SAY LINE5
- IF OLOOP=4 THEN SAY LINE6
- END
- SAY LINE1
- END
- IF MAP\=0 THEN
- DO
- SAY
- SAY
- SAY 'The map is old and crudely drawn...in blood!!'
- SAy
- SAY
- SAY CENTER('Press'HI' <enter>'LO' to continue game',48)
- PULL DUMMY
- SAY
- SAY 'One moment'
- END
- RETURN
- QUIT:
- SAY
- SAY CENTER(HI'Do you wish to play again? (Y/N)?'LO,70)
- PULL DUMMY
- IF DUMMY = 'Y' THEN SIGNAL BEGIN
- CLEAR_SCR
- ECHO_ON
- EXIT
-
- /*************************************************************************
- *
- * Wait: Pauses for (delay) seconds.
- *
- ************************************************************************/
- Wait: PROCEDURE
- PARSE ARG delay
-
- IF \datatype(delay, "N") THEN
- delay = 1
- CALL Time("R")
- DO WHILE Time("E") < delay
- NOP
- END
- RETURN
- /* END */
-