page@swan.ulowell.edu (Bob Page) (02/02/89)
Submitted-by: ejkst@unix.cis.pittsburgh.edu (Eric J. Kennedy)
Posting-number: Volume 89, Issue 8
Archive-name: fun/world.1
# This is a shell archive.
# Remove everything above and including the cut line.
# Then run the rest of the file through sh.
#----cut here-----cut here-----cut here-----cut here----#
#!/bin/sh
# shar: Shell Archiver
# Run the following text with /bin/sh to create:
# README
# data.dat
# vocab.dat
# This archive created: Mon Jan 30 18:06:11 1989
cat << \SHAR_EOF > README
World for the Amiga version 1.02
(not called AmigaW*rld for obvious reasons...)
This is Doug McDonald's text adventure game "WORLD". See the original ReadMe
file below for a description. This version runs on any Amiga. World
requires about 100K of memory. (200K if you copy the data file to a ram disk
first, which makes for a faster game.)
To run from the workbench:
--------------------------
Only the files World, World.info and q1text.dat are required.
Q1text.dat.info is optional.
To run World, simply double click on the World icon. Q1text.dat must be in
the same directory.
Alternatively, you can double click on the q1text.dat icon. By selecting the
q1text.dat icon and choosing 'Info' from the Workbench menu, you can enter
the full path to the program World in the string gadget 'Default Tool'.
(This is initially set to 'World:World'.) This way, you can drag (copy)
q1text.dat to a ram disk, and double click on it there; World will then
operate off of the ram disk, speeding up the game considerably.
World looks for "WIN" in the tooltypes. It defaults to a 640 by 200 NEWCON:
window. To change this, click once on the World icon, select "Info" from the
menu, and change the tooltypes.
Example: "WIN=NEWCON:0/0/640/400/WORLD" uses a 640 by 400 NEWCON: window.
This is for interlaced screens only.
"WIN=CON:0/0/640/200/WORLD" uses a 640 by 200 CON: window. Use
this if you don't have Workbench 1.3 yet, or if you prefer to use
ConMan, or if you just don't want to use the NEWCON: device.
To run from the CLI:
--------------------
(Note: I use a stack of at least 10000 to run World. I seriously doubt that
this is actually necessary, but since I didn't write World, I don't really
know its stack requirements. It's never crashed on me with the default stack
of 4000. I feel safer using a large stack, though.)
Only the files World and q1text.dat are required.
1>run World [-n][-c][-i][-N] [datafile]
Options:
-n Uses a NEWCON: window so you can use the arrow keys to scroll
through previous commands, correct typing errors, etc. This is
the default.
-c Uses a CON: window. Use this option if you do not have Workbench
1.3 installed, or if you prefer to use conman, or if you simply
don't want to use NEWCON:.
-i For an interlaced workbench screen. Opens a 640 by 400 window.
-N For a non-interlaced workbench screen. Opens a 640 by 200
window. This is the default.
datafile Optional. Default is q1text.dat. Included so that you can copy
q1text.dat to ram: and specify ram:q1text.dat on the command
line. Since World accesses q1text.dat throughout the game, this
speeds up the game considerably.
Porting:
--------
Porting to the Amiga only required recompiling on the Amiga. To do the
window and workbench stuff, the file 'wbstuff.c' was added, and a few lines
were added to 'world.c' and a few to helper.c. Don't worry about the messages
about things overriding library symbols. It's supposed to do that. The
lines added to 'world.c' and 'helper.c' are enclosed in
#ifdef AMIGA
#endif
so it can be easily moved to another computer. Simply don't include the file
'wbstuff.c' if you port it to another computer.
Enjoy,
Eric Kennedy ejkst@cisunx.edu
1520 James St.
Monroeville, PA 15146
(412) 823-5165
original README follows...
------------------------------------------------------------------
This is the portable "C" version of my text adventure game "WORLD".
It is a large game in the flavor of Adventure or Zork, and about as large.
It is, however, a "sci-fi" type game somewhat like the commercial
Infocom games "Planetfall" or "Starcross", but much larger.
The code is written to be quite portable. However, it does make a few
assumptions. These are:
1. Seven bit ASCII
2. short int is at least 16 bits
3. It MAY assume 2's complement arithmetic; I'm not sure.
4. the read and write IO routines have to work for a second
argument which is a pointer to short
If your computer doesn't conform to those requirements, the program
"vtxtcn" and the routine "speak" in "helper.c" will most definately
need to be rewritten. There may be other problems as well, particularly
if your machine sets the high bit of a char.
The program has been tested and compiles and runs properly on the following
systems:
1) VAX/VMS Digital CC compiler. No particular tricks are needed.
2) IBM PC-AT Xenix 1.00. It seems to be necessary to use the large
memory model, although I'm not sure why since it runs on the
same machine under DOS in the small model.
3) IBM PC under Microsoft C version 4.00. It works in the default
small memory model if you compile with the -Os switch. Note
that on this setup you MUST link the main program World with
binmode.obj, provided by Microsoft, for it to work right.
Vtxtcn and vcnvrt must NOT be linked with binmode.obj.
This compiler generates a few harmless warning messages.
You may need to use EXEMOD to increase the stack size.
4) VAX/4.3bsd Unix. No particular tricks needed.
Instructions for generating world:
Once you have unpacked all the files, compile (and link if necessary)
the preprocessor "vtxtcn.c". Then execute it. It will create a few
.inc files and the run-time text base file "q1text.dat".
Then compile, (link) and execute "vcnvrt.c". It will generate more
.inc files.
These .inc files generate the actual game data which is compiled
into the final game program "world".
The main program, which contains seven files world.c, demons.c, helper.c,
motion.c, parser.c, verbs1.c and verbs2.c is then compiled and,
if necessary on your machine, linked. See above for possible special
switches or link files for your machine. Special handling probably
is not necessary for un-segmented Unix machines. Edit the file helper.c
to change the pathname for the data file (q1text.dat), if desired.
The output of the above compilation process is the game program
which should be named "world". It and "q1text.dat" are all that is
necessary to run the game. The game generates save-position files called
"world.sav".
A note on the file q1text.dat: this file is written as an array of
shorts, rather than chars. It is so arranged, however, that if it is
in fact considered as bytes, there are absolutely linefeeds or
carriagereturns sent to it. Thus on a record oriented machine like the
VAX/VMS, it is a single record. On the IBM-PC/DOS, no conversion from
lf to lf/cr or vice versa is ever required. Save files, on the other
hand, may accidentally contain any control characters, so on a system
like DOS in which the normal text mode does conversions of lf to lf/cr
pairs you must use the special binary mode. None of these considerations
should apply to Unix.
Bugs: There are no known bugs. However, some are certain to show up if
it is compiled on different machines, or if players exercise parts
of the code I haven't frequently played with. Please send them to me.
There are Fortran versions of this game for the VAX, PDP-11, IBM-PC, and
Apple Macintosh which implement a niftier user interface than this version.
They will appear eventually (but not in source code) on various bulletin
boards. The Mac version features the full Mac interface.
No claim is made to the effect that this program is an example of "good"
programming practice, whatever that may be. In particular, anyone
who can untangle the spaghetti in scan() will be awarded 8 assorted kazoos
and 4 Bronx cheers.
Please don't cheat by reading the text file!
Cheating by reading the code is only slightly more cowardly!
Doug Mcdonald
Department of Chemistry
University of Illinois
Urbana Ill. 61801
address: mcdonald@uiucuxe
SHAR_EOF
cat << \SHAR_EOF > data.dat
*THIS IS THE DATA TABLE FOR THE GAME
*A STAR IN THE FIRST COLUMN IS A COMMENT
*THE FIRST SECTION IS THE TRAVEL TABLE
*THE SECOND SECTION IS THE LOCATION DATA
*THE THIRD SECTION IS THE DATA ON MOVEABLE OBJECTS
*THE FOURTH SECTION IS THE DATA ON FIXED OBJECTS
*THE SECTIONS ARE SEPARATED BY 9999 IN THE FIRST FOUR COLUMNS
*THE TRAVEL TABLE WORKS AS FOLLOWS:
* IT APPLIES ONLY TO "GO" OR TO WORDS WHICH TRANSLATE TO GO,
* SUCH AS RUN. IT DOES NOT APPLY TO SWIM OR JUMP OR CRAWL OR STAND
* OR SIT. THESE ARE HANDLED BY SPECIAL CODE.
*AN ENTEY BEGINNING IN COLUMN TWO IS A "FROM" LOCATION,
*WHICH MUST OCCUR IN ORDER.
*THE NEXT ENTRY
*MAY BE BLANK OR C FOR CAREFULLY, S FOR SLOWLY, OR Q FOR QUICKLY
*THE NEXT ENTRY IS A DIRECTION: N,NW,E,...NW,U,D OR BLANK
* THESE TWO ARE COMBINED IN THE TABLE IN THE FORM:
* C*16+S*32+Q*64+DIR (WHERE 1<=DIR<=10)
*THE NEXT ENTRY INDICATES WHAT TYPE OF CONDITION:
*1) MEANS NEXT IS LOCATION;UNCONDITIONAL MOTION
*2) MEANS NEXT IS A MESSAGE NUMBER; STAY WHERE HE IS
*3) MEANS NEXT IS VARIABLE FOR COMPUTED GOTO
*4) MEANS HE DIED. NEXT IS THE MESSAGE.
*5) MEANS HE MUST BE DEAD, AND HAVE BEEN THERE BEFORE.
*6) IS SAME AS 2 EXCEPT 512 IS ADDED TO MESSAGE NUMBER
*7-15 ARE UNUSED
*16-31) MEANS NEXT IS NEWLOC;GO WITH (NUMBER-15)*6 % CHANCE
* THESE TWO ARE COMBINED IN THE FORM 512*(FIRST WORD)+SECOND WORD
*EACH LOC AND DIRECTION MAY HAVE SEVERAL POSSIBILITIES; THEY
*ARE TAKEN IN ORDER UNTIL SOMETHING SUCEEDS OR THE END IS REACHED,
*IN WHICH CASE NOTHING AT ALL HAPPENS.
*IF A DIRECTION IS MISSING, HE GETS A "YOU CAN'T POSSIBLY GO THERE"
*MESSAGE
*
1 D 2 30
S 2 30
U 1 2
N 1 2
2 D 1 1
S 1 1
U 1 3
N 1 3
3 D 1 4
S 1 2
N 1 4
4 S 2 31
U 2 31
D 2 32
NW 1 5
NE 1 18
5 SE 1 4
N 1 19
W 5 6
W 2 47
NW 2 61
SW 2 61
6 S 1 7
E 5 5
E 2 47
7 N 1 8
S 1 6
E 1 10
W 1 7
8 N 1 11
S 28 9
S 1 12
E 1 7
W 22 9
W 1 12
9 N 1 10
S 1 12
E 1 11
W 24 9
W 1 8
10 N 1 7
S 1 10
E 1 9
W 1 15
11 N 1 9
S 1 12
E 1 8
W 1 11
12 D 1 11
E 1 9
U 3 1
U 2 33
13 D C 1 12
D 24 12
D 4 37
U C 1 14
U 24 14
U 4 37
14 D C 1 13
D 20 13
D 4 37
U 2 34
15 S 1 10
N 5 17
N 2 47
16 N 2 47
S 5 6
S 2 47
E 2 47
W 5 15
W 2 47
NE 2 47
SE 2 47
NW 2 47
SW 2 47
17 N 1 57
E 1 19
S 5 15
S 2 47
18 SW 1 4
NE 1 22
19 NE C 1 21
NE 5 21
NE 20 21
NE 4 38
W 23 17
W 2 36
SW 20 17
SW 25 5
SW 2 36
S 24 5
S 2 36
20 W 1 57
E 1 22
U 1 52
21 SW C 1 19
SW 5 19
SW 20 19
SW 4 38
E 1 26
22 N 1 20
S 1 18
E 1 23
23 E 1 24
W 1 22
24 W 1 23
E 3 2
E 2 118
25 W 1 24
E 1 98
26 SW 1 21
NE Q 1 27
NE 5 27
NE 2 130
27 SW Q 1 26
SW 5 26
SW 2 130
NE 1 46
E 1 28
28 W 1 27
NE 1 29
SE 1 30
29 W 1 28
E 1 37
S 1 31
N 1 45
30 W 1 28
E 1 31
S 3 3
S 2 129
31 N 1 29
W 1 30
NE 1 32
32 SW 1 31
N 1 37
SE 1 33
E 1 38
NE 1 38
33 NW 1 32
NE 1 34
N 1 38
34 SW 1 33
N 1 35
W 1 38
NW 1 38
35 S 1 34
NW 1 36
N 1 39
W 1 38
SW 1 38
36 SW 1 37
SE 1 35
S 1 38
37 W 1 29
S 1 32
NE 1 36
E 1 38
SE 1 38
38 N 5 36
N 2 131
NE 5 35
NE 2 131
E 5 35
E 2 131
SE 5 34
SE 2 131
S 5 33
S 2 131
SW 5 32
SW 2 131
W 5 37
W 2 131
NW 5 37
NW 2 131
U 5 35
U 2 131
39 S 1 35
W 1 40
40 E 1 39
NW 1 41
41 SE 1 40
SW 1 44
D 3 4
D 2 132
42 N 1 30
43 W 1 47
E 1 45
NE 1 44
44 S 1 45
SW 1 43
NE 1 41
NW 1 50
45 N 1 44
S 1 29
W 1 43
46 SW 1 27
N 1 47
47 S 1 46
E 1 43
NW 1 48
N 3 5
N 2 239
48 U 2 133
SE 1 47
49 D 1 48
50 SE 1 44
N Q 1 86
N 5 86
N 2 130
51 S 3 5
S 2 239
52 D 1 20
E 1 53
W 1 54
53 W 1 52
54 E 1 52
U 1 55
55 U 1 56
D 1 54
56 D 1 55
57 E 1 20
S 1 17
NW 1 58
58 SE 1 57
NW 1 62
D 1 59
59 U 1 58
NE 1 58
SW 1 60
60 NE 1 59
S 1 61
61 N 1 60
62 S 1 58
N Q 1 63
N 5 63
N 2 130
W 2 246
63 N 1 64
S Q 1 62
S 5 62
S 2 130
64 S 1 63
N 1 65
65 S 1 64
N 1 67
U 1 66
66 D 1 65
67 S 1 65
N 1 68
68 S 1 67
W 3 13
W 2 246
N 1 69
E 1 71
69 S 1 68
E 1 73
70 N 1 74
W 1 73
S 1 71
E 1 78
71 N 1 70
S 1 72
E 1 81
W 1 68
72 N 1 71
S 1 83
73 W 1 69
E 1 70
D 3 7
D 2 260
74 S 5 73
S 3 6
S 2 259
75 D 1 77
E 1 76
76 W 1 75
D 3 8
D 5 79
D 4 261
77 U 1 75
D 1 78
78 U 1 77
W 1 70
E 1 79
79 U 2 262
W 1 78
80 U 2 263
D 1 79
81 W 1 71
N 1 82
E 1 89
82 S 1 81
N 3 15
N 5 151
N 2 440
U 3 15
U 5 151
U 2 440
83 N 1 72
D 1 84
84 U 1 83
D 1 85
E 1 86
85 U 1 84
S 3 9
S 2 272
86 W 1 84
S Q 1 50
S 5 50
S 2 130
N 1 87
87 S 1 86
N 3 10
N 2 264
88 S 3 10
S 2 264
89 W 1 81
E 2 265
90 E 1 68
N 1 91
S 1 95
91 S 1 90
W 1 92
92 E 1 91
SW 1 93
93 NE 1 92
SE 1 94
94 NW 1 93
E 1 95
95 W 1 94
N 1 90
96 D 4 266
E 5 102
E 4 266
U 5 73
U 2 267
97 U 5 96
98 W 1 25
N 3 14
N 2 281
SE 1 117
99 S 1 108
100 U 1 115
101 N 1 107
E 1 116
W 1 108
D 1 103
102 S 1 96
W 1 102
SE 1 107
U 1 112
103 E 1 104
D 1 116
104 N 1 103
NW 1 105
U 1 107
105 S 1 114
SE 1 104
NW 1 110
106 S 1 108
W 1 106
U 1 116
107 NE 1 106
NW 1 101
U 1 102
108 N 1 99
W 1 101
NW 1 116
109 S 1 102
U 1 116
D 1 104
110 W 1 111
NE 1 117
D 1 110
111 N 1 103
E 1 110
SE 1 112
112 S 1 113
NW 1 111
U 1 112
113 N 1 112
SE 1 114
SW 1 130
114 S 1 105
U 1 115
D 1 114
115 N 1 116
W 1 114
D 1 100
116 S 1 104
NE 1 101
U 1 109
117 NW 1 98
N 1 118
E 1 101
118 S 1 117
N 1 119
NE 1 129
119 S 1 118
E 1 120
NW 1 119
SW 1 119
120 S 1 119
E 1 130
D 1 121
121 U 1 120
D 1 122
SE 1 122
122 W 1 121
U 1 121
123 U 5 121
U 2 269
SE 1 124
S 1 125
SW 1 126
124 NW 1 123
125 N 1 123
126 NE 1 123
D 1 127
U 1 128
127 U 2 270
128 U 2 271
D 1 129
129 SW 1 118
U 2 271
130 N 1 132
NE 1 113
SE 1 131
W 1 120
131 NW 1 130
132 S 1 130
133 W 1 139
S 1 134
E 1 135
134 N 1 133
135 W 1 133
E 3 11
E 2 272
136 N 3 12
N 2 272
S 1 137
137 N 1 136
S 1 138
W 1 143
E 1 147
138 N 1 137
S 1 139
W 1 144
E 1 148
139 N 1 138
E 1 133
S 1 140
140 N 1 139
S 1 141
W 1 145
E 1 149
141 N 1 140
S 1 142
W 1 146
E 1 150
142 N 1 141
S 5 98
S 3 14
S 2 281
143 E 1 137
144 E 1 138
145 E 1 140
146 E 1 141
147 W 1 137
148 W 1 138
149 W 1 140
150 W 1 141
151 D 1 82
N 1 152
152 S 1 151
153 D 1 154
154 U 1 153
N 1 155
NE 1 156
E 1 157
SE 1 158
S 1 159
SW 1 160
W 1 161
NW 1 162
155 S 1 154
E 1 156
SE 1 157
SW 1 161
W 1 162
N 1 163
156 W 1 155
SW 1 154
S 1 157
157 N 1 156
NW 1 155
W 1 154
SW 1 159
S 1 158
E 1 167
158 N 1 157
NW 1 154
W 1 159
159 NE 1 157
E 1 158
N 1 154
NW 1 161
W 1 160
S 1 172
160 E 1 159
NE 1 154
N 1 161
161 SE 1 159
E 1 154
S 1 160
NE 1 155
N 1 162
W 1 164
162 S 1 161
SE 1 154
E 1 155
163 S 1 155
W 1 165
164 E 1 161
N 1 165
165 E 1 163
S 1 164
NW 3 16
NW 2 239
166 SE 3 16
SE 2 239
167 W 1 157
E 1 168
S 1 169
168 W 1 167
169 N 1 167
E 1 171
S 3 18
S 2 58
170 N 1 169
W 1 174
171 W 1 169
E 4 498
S 4 498
N 4 498
172 N 1 159
S 1 173
173 S 2 239
N 1 172
174 N 2 239
S 3 17
S 2 239
E 1 170
175 N 3 17
N 2 239
176 N 2 272
177 N 2 272
178 N 2 272
179 N 2 272
180 N 2 272
181 N 3 17
N 2 239
182 S 1 181
N 1 183
183 S 1 182
184 N 3 17
N 2 239
185 N 1 186
S 1 184
186 S 1 185
187 N 3 17
N 2 239
188 S 1 187
N 1 189
189 S 1 188
N 2 499
W 1 190
190 E 2 499
9999
*LOCATION DATA
*BITS ARE: 1)LIGHT ALWAYS
* 2)DARK ALWAYS (NEEDS LAMP)
* 4)HAS LIGHTS
* 8)OUTDOORS
* 16)LIGHTS ARE ON
* 32)ADVENTURER CAN ENTER ROOM
* 64,128,256,512)OTHER PLAYES CAN ENTER
* 1024)THERE IS WATER HERE
* 2048)THERE ARE OAKS HERE
* 16384)HAS BEEN VISITED
0001 16424
0002 40
0003 40
0004 2088
0005 3112
0006 3112
0007 2088
0008 2088
0009 2088
0010 2088
0011 2088
0012 2088
0013 40
0014 40
0015 3112
0016 3112
0017 3112
0018 40
0019 2088
0020 1064
0021 40
0022 1064
0023 1064
0024 1064
0025 33
0026 40
0027 40
0028 40
0029 40
0030 40
0031 40
0032 40
0033 40
0034 40
0035 40
0036 40
0037 40
0038 40
0039 40
0040 40
0041 40
0042 40
0043 40
0044 40
0045 40
0046 40
0047 40
0048 40
0049 40
0050 40
0051 33
0052 40
0053 40
0054 40
0055 40
0056 40
0057 3112
0058 1064
0059 1064
0060 1064
0061 1064
0062 40
0063 40
0064 40
0065 104
0066 40
0067 104
0068 104
0069 104
0070 104
0071 104
0072 104
0073 40
0074 104
0075 40
0076 40
0077 40
0078 104
0079 40
0080 40
0081 40
0082 40
0083 40
0084 33
0085 33
0086 40
0087 40
0088 40
0089 40
0090 65
0091 65
0092 65
0093 65
0094 65
0095 65
0096 34
0097 34
0098 33
0099 33
0100 33
0101 34
0102 34
0103 34
0104 34
0105 34
0106 34
0107 34
0108 34
0109 34
0110 34
0111 34
0112 34
0113 34
0114 34
0115 34
0116 34
0117 34
0118 34
0119 34
0120 34
0121 34
0122 1062
0123 1062
0124 1062
0125 1062
0126 1062
0127 1062
0128 34
0129 34
0130 34
0131 33
0132 33
0133 33
0134 33
0135 33
0136 33
0137 33
0138 33
0139 33
0140 33
0141 33
0142 33
0143 1076
0144 36
0145 36
0146 33
0147 36
0148 36
0149 52
0150 36
0151 40
0152 40
0153 33
0154 33
0155 33
0156 33
0157 33
0158 33
0159 33
0160 33
0161 33
0162 33
0163 33
0164 33
0165 33
0166 33
0167 33
0168 33
0169 33
0170 33
0171 33
0172 33
0173 33
0174 33
0175 33
0176 33
0177 33
0178 33
0179 33
0180 33
0181 33
0182 33
0183 1057
0184 33
0185 33
0186 33
0187 33
0188 33
0189 33
0190 33
9999
*THE PROPERTIES OF OBJECTS IS DESCRIBED HERE
*THE PROPERTIES OF ALL MOVEABLE OBJECTS IS DESCRIBED BEFORE
*THOSE OF FIXED OBJECTS.
*THE PROPERTIES ARE:
*1) THE NOUN
*2) THE ADJECTIVE, MINUS IF OPTIONAL
*3) WEIGHT*256+SIZE IF MOVEABLE LOCATION IF FIXED
* THE ITEMS ABOVE AND BELOW ARE SPLIT IN TWO ON THE CHART
*4) VALUE*4096+LOCATION FOR ALL POINTS (FLOC) IF MOVEABLE
* A LOCATION >=4000 IMPLIES THAT CREDIT IS GIVEN IF THE
* LOCATION OF THE OBJECT IN NOT LOCATION-4000
* ;LOCAT #2 IF FIXED
*5) FIXED ("PURE") PROPERTY WORD. BITS ARE:
* 1)CAN BE CLOSED (I.E. PPRP)
* 2)DRINKABLE
* 4)FOOD
* 8)POISON
* 16)READABLE
* 32)SENTIENT
* 64)WEARABLE
* 128)OPAQUE
* 256)PLURAL
* 512)LOCKABLE
* 2048*M 0<M<16 CONTAINER VALUE (I.E.CVAL)
*6) VARIABLE ("IMPURE") PROPERTY WORD (I.E. IMPRP)
* 1)HAS BEEN SEEN (I.E. IF PREVIOUSLY HIDDEN)
* 2)CURRENTLY CLOSED
* 4)CURRENTLY LOCKED
* +8*(INDEX TO DESCRIPTORS)+ 64*(RESPONSE TO EXAMINE OR READ)
* +512*(CONTAINER DESCRIPTION, E.G. THE BOTTLE IS EMPTY)
* +4096*(CURRENT SPECIAL PROPERTY)
* SPECIAL PROPERTY 1 MEANS INCREMENT
* INDEX TO DESCRIPTORS WHEN TAKEN
*7) PRESENT ONLY FOR MOVEABLE OBJECTS, THE LOCATION (ILOC)
* ZERO MEANS NONEXISTENT
* 1 TO 500 MEANS A PLACE NUMBER
* 1000 IS CARRIED BY ADVENTURER
* 1001 IS CARRIED BY FIRST MOVEABLE BEING
* 1002 IS CARRIED BY SECOND BEING ET.
* 2001 MEANS INSIDE OBJECT NUMBER 1
* 2002 MEANS INSIDE OBJECT NUMBER 2
* 6001 MEANS INSIDE fixed OBJECT NUMBER 1
*NUM NOUN ADJ WT SIZE VAL FLOC PPRP IMPRP ILOC CVAL PARAM
0001 KEY -CHROME 1 1 2 4014 64 4105 14 0 CKEY
0002 SAPPHI -BLUE 1 1 1 1000 64 4105 18 0 BSAPPH
0003 FISH COLORF 2 2 3 2015 8 4297 16 0 CFISH
0004 FISH DEAD 2 2 1 2015 8 0 0 0 DFISH
0005 KNAPSA 0 20 100 0 1000 192 1673 3000 15 ZKNAPS
0006 SHIRT RED 3 4 0 0 64 9 3000 0 RSHIRT
0007 SHIRT GREEN 3 4 0 0 64 9 2005 0 GSHIRT
0008 BOOTS -HEAVY 20 5 0 0 320 137 3000 0 HBOOTS
0009 SHOES -CANVAS 10 5 0 0 320 137 2005 0 CSHOES
0010 PANTS BLUE 3 4 0 0 320 9 3000 0 LPANT
0011 PANTS BROWN 3 4 0 0 320 9 2005 0 RPANT
0012 NET -BUTTER 1 3 0 0 0 1033 2005 2 BNET
0013 TUBE -PLASTI 1 2 0 0 24 137 2005 0 BREPEL
0014 CAMERA -INSTAN 6 4 0 0 0 137 2005 0 ICAMER
0015 BAG -PLASTI 1 3 0 0 0 1673 2005 2 PLBAG
0016 FOSSIL -CRABLI 10 5 1 1000 64 4105 56 0 CFOSSI
0017 PHOTOG PTEROD 1 2 1 1000 0 137 0 0 PPHOTO
0018 PHOTOG MARTIA 1 2 1 1000 0 137 0 0 MPHOTO
0019 DIAMON -HUGE 6 5 2 1000 0 9 49 0 ZDIAMO
0020 PUCK -HOCKEY 10 3 2 1000 0 137 38 0 HPUCK
0021 BOULDE -RED 100 101 0 0 0 4097 27 0 RBOULD
0022 MOSS -GREEN 2 5 0 0 0 4225 19 0 GMOSS
0023 GLASS -GLASS 10 101 1 4000 0 137 0 0 PGLASS
0024 WIRE -WIRE 5 3 0 0 16 137 88 0 ZWIRE
0025 SPHERE -GLOWIN 14 4 2 4051 0 137 51 0 GSPHER
0026 LATEX -GOOEY 6 6 0 0 12 4361 66 0 ZLATEX
0027 CABLE BROKEN 2 2 0 0 0 4225 6023 0 DCABLE
0028 CABLE GOOD 2 2 0 0 0 137 148 0 GCABLE
0029 ORCHID 0 1 2 1 1000 0 4297 70 0 ZORCHI
0030 FLYTRA -VENUS 1 2 1 1000 0 4297 72 0 ZFLYTR
0031 CASSET -HUGE 2 9 0 0 0 137 149 0 ZCASSE
0032 PHOTOG OVEREX 1 2 0 0 0 137 0 0 OPHOTO
0033 TOMATO 0 2 4 0 0 12 137 73 0 ZTOMAT
0034 LETTUC 0 2 4 0 0 4 137 73 0 ZLETTU
0035 CABBAG 0 2 3 0 0 4 137 73 0 ZCABBA
0036 STRAWB 0 2 2 0 0 4 137 74 0 ZSTRAW
0037 GRAPE 0 2 2 0 0 4 4297 74 0 ZGRAPE
0038 SEED -BLACK 5 4 0 0 0 4297 86 0 ZSEED
0039 BUCKET 0 10 101 0 0 0 1545 149 13 ZBUCKE
0040 PITCHF 0 10 101 0 0 0 9 88 0 ZPITCH
0041 SHOVEL 0 10 101 0 0 0 9 88 0 ZSHOVE
0042 ROBOT 0 127 101 0 0 48 2249 70 0 ZROBOT
0043 STATUE 0 5 5 2 1000 0 137 99 0 ZSTATU
0044 MUSHRO -HUGE 1 3 0 0 4 9 118 0 ZMUSHR
0045 NUGGET -NUGGET 10 2 3 1000 0 9 128 0 ZNUGGE
0046 PHOTOG PAINTI 1 2 1 1000 0 137 0 0 APHOTO
0047 PHOTOG FAMILY 1 2 1 1000 0 137 0 0 FPHOTO
0048 CAT -BLACK 6 5 3 4080 0 4105 80 0 ZCAT
0049 DEET 0 2 2 0 0 8 137 147 0 ZDEET
0050 METOL 0 2 2 0 0 8 137 147 0 ZMETOL
0051 HYPO 0 2 2 0 0 8 137 147 0 ZHYPO
0052 CARTRI TERRAN 2 2 3 4000 0 137 0 0 ZCART
0053 KNIFE 0 3 3 0 0 0 9 150 0 ZKNIFE
0054 HAMMER 0 5 3 0 0 0 9 150 0 ZHAMME
0055 SCREWD 0 2 3 0 0 0 9 150 0 ZSCREW
0056 CARTRI CYGNAN 2 2 0 0 0 137 146 0 CCART
0057 BEAD -GLOWIN 2 4 1 4000 0 137 0 0 ZBEAD
0058 INSECT -SILICO 1 2 3 1000 0 201 94 0 ZINSEC
0059 FILM -XRAY 1 4 0 0 0 137 0 0 ZFILM
0060 BOX -MAGNES 3 5 0 0 129 1679 6032 5 ZBOX
0061 DISC GOOD 1 1 5 0 0 137 2060 0 GDISC
0062 DISC BROKEN 1 1 0 0 0 137 2060 0 BDISC
0063 MINERA -VIOLET 3 1 3 1000 0 137 152 0 LMINER
0064 EGG -CHOCOL 3 2 0 0 4 4105 0 0 CEGG
0065 COIN SILVER 2 2 2 1000 16 137 0 0 SCOIN
0066 COIN BRASS 2 2 0 0 16 137 0 0 BCOIN
0067 COIN NICKEL 2 2 0 0 16 137 0 0 NCOIN
0068 COIN COPPER 2 2 0 0 16 137 0 0 CCOIN
0069 COIN PLATIN 2 2 0 0 16 137 0 0 PCOIN
0070 MAP 0 2 2 0 0 16 137 0 0 MMAP
0071 BALL -RED 2 2 0 0 4 9 0 0 BBALL
0072 NEWSPA 0 2 2 0 0 16 137 0 0 NNEWS
0073 ROD -YELLOW 1 1 0 0 0 9 166 0 YROD
0074 NOTE 0 2 2 0 0 16 137 6071 0 NNOTE
9999
0001 SPIRE 0 12 13 0 129 0 ZSPIRE
0002 PTEROD -SMALL 24 0 0 65 0 ZPTERO
0003 STOOL -CERAMI 42 0 0 65 0 ZSTOOL
0004 KNOB -METAL 42 0 0 65 0 ZKNOB
0005 WINDOW 0 42 30 0 65 0 ZWINDO
0006 DOOR ROUND 47 51 513 207 0 RDOOR
0007 TOWER 0 48 0 0 1 0 ZTOWER
0008 DIMPLE -METAL 47 0 0 1 0 MDIMPL
0009 CUBE -STONE 61 0 16 65 0 SCUBE
0010 HORSET 0 24 25 256 65 0 ZHORSE
0011 DOOR METAL 41 135 513 15 0 MDOOR
0012 DOOR GLASS 85 136 513 15 0 GDOOR
0013 HOLE -RABBIT 73 0 0 9 0 RHOLE
0014 LOUVER 0 98 142 0 1 0 ZLOUVE
0015 VINE -GRAPE 74 0 0 9 0 ZVINE
0016 SLOT SLOT 146 0 0 513 2 RSLOT
0017 BUTTON TRIANG 146 0 0 1 0 TBUTTO
0018 BUTTON SQUARE 146 0 0 1 0 SBUTTO
0019 BUTTON ROUND 146 0 0 1 0 RBUTTO
0020 BUTTON HEXAGO 146 0 0 1 0 HBUTTO
0021 SCREEN -VIDEO 146 0 0 9 0 ZSCREE
0022 SINK 0 143 0 0 513 10 ZSINK
0023 ANTENN -MICROW 69 0 0 65 0 ZANTEN
0024 ENLARG -ENLARG 143 0 0 513 6 ZENLAR
0025 RACK -HUGE 143 0 0 1089 10 ZRACK
0026 TRAY -SMALL 143 0 0 513 5 ZTRAY
0027 HOPPER 0 143 0 0 513 5 ZHOPPE
0028 FUNNEL LEFT 143 0 0 1 3 LFUNNE
0029 FUNNEL MIDDLE 143 0 0 1 3 MFUNNE
0030 FUNNEL RIGHT 143 0 0 1 3 RFUNNE
0031 BUTTON RED 143 0 0 1 0 RDBUTT
0032 DESK 0 145 0 129 515 10 ZDESK
0033 INDICA -LEVEL 143 0 0 73 0 ZINDIC
0034 LIGHT RED 143 0 0 73 0 RLIGHT
0035 LIGHT GREEN 143 0 0 73 0 GLIGHT
0036 ACID -ACID 91 0 0 513 15 ZACID
0037 PIT -FIERY 94 0 0 1 15 FPIT
0038 MUD -SULFUR 95 0 0 1 15 ZMUD
0039 BUTTON VIOLET 134 0 0 1 0 VBUTTO
0040 BUTTON ORANGE 134 0 0 1 0 OBUTTO
0041 BUTTON WHITE 134 0 0 1 0 WBUTTO
0042 BUTTON BLUE 134 0 0 1 0 BBUTTO
0043 RECESS 0 134 0 0 513 2 ZRECES
0044 VAPOR RED 93 0 0 513 15 RVAPOR
0045 VAPOR GREEN 93 0 0 513 15 GVAPOR
0046 FROG -GREEN 67 0 0 65 0 ZFROG
0047 BIRD RED 65 66 0 65 0 RBIRD
0048 BIRD BEAUTI 78 79 0 65 0 XBIRD
0049 BIRD BEAUTI 77 80 0 65 0 YBIRD
0050 BIRD BEAUTI 75 76 0 65 0 ZBIRD
0051 BEES 0 87 0 0 1 0 ZBEES
0052 CACTUS 0 82 0 0 1 0 ZCACTU
0053 HOUSE -DOLL 132 0 0 65 0 DHOUSE
0054 WATERF 0 24 0 0 65 0 FALLS
0055 MACHIN VENDIN 156 0 16 137 0 TMACH
0056 SLOT SLOT 156 0 0 1 0 TSLOT
0057 MACHIN VENDIN 158 0 16 137 0 NMACH
0058 SLOT SLOT 158 0 0 1 0 NSLOT
0059 MACHIN VENDIN 160 0 16 137 0 SMACH
0060 SLOT SLOT 160 0 0 1 0 SSLOT
0061 MACHIN VENDIN 162 0 16 137 0 MMACH
0062 SLOT SLOT 162 0 0 1 0 MSLOT
0063 MACHIN HUGE 153 0 0 65 0 PMACH
0064 DOOR ORANGE 165 166 513 15 0 ODOOR
0065 DOOR PINK 173 174 513 15 0 PDOOR
0066 DOOR BLUE 174 175 1 11 0 BDOOR
0067 CLIP ORANGE 166 0 0 513 2 OCLIP
0068 CLIP VIOLET 166 0 0 513 2 VCLIP
0069 CLIP YELLOW 175 0 0 513 2 YCLIP
0070 CLIP BLUE 175 0 0 513 2 BCLIP
0071 CABINE -FILEC 169 0 129 515 12 FCABIN
0072 BUTTON GREEN 169 0 0 1 0 GBUTTO
0073 MURAL -HUGE 169 0 0 201 0 HMURAL
0074 RED GREEN 1 0 0 0 0 WDUMMX
9999
SHAR_EOF
cat << \SHAR_EOF > vocab.dat
*THIS FILE CONTAINS THE VOCABULARY DATA FOR THE GAME
*IT IS CONVERTED INTO FORTRAN CODE BY THE PROGRAM 'VCONVRT'
*A * IN THE FIRST COLUMN IS A COMMENT
*A + IN THE FIRST COLUMN MEANS THAT THE CURRENT WORD IS A SYNONYM
* OF THE PREVIOUS WORD.
*A NUMBER IN THE FIRST COLUMN INDICATES THE START OF A NEW SECTION
0
*BUZZWORDS: TOTALLY IGNORED IN PROCESSING,EXCEPT FOR "OF" IN ONE CASE
A ZZA
AN ZZAN
THE ZZTHE
OF
1
*ADVERBS
QUICKLY
+RAPIDLY
SLOWLY
CAREFULLY
+CAUTIOUSLY
QUIETLY
+SOFTLY
TWICE
WHERE
WHAT
2
*THE VERBS ARE FOLLOWED BY TWO WORDS IN **BINARY** WHICH INDICATE THEIR
*SYNTAX WITH OBJECTS AND PREPOSITIONS
*THE FIRST WORD TELLS WHETHER THE VERB TAKE A DIRECT OBJECT WITH A
*PARTICULAR PREPOSITION (I.E. SIT IN THE CHAIR). THE PREPOSITIONS
*ARE, IN ORDER (THE RIGHTMOST IS BIT 0) FOR,THROUGH,OVER,BEHIND,UNDER,OFF,
* FROM,TO,AT,WITH,ON,OUT,IN,DOWN,UP
*THE SECOND WORD TELLS WHETHER THE VERB TAKES INDIRECT (I.E. SECOND) OBJECTS
*WITH THE SAME PREPOSITIONS (E.G. DROP THE CARD IN THE SLOT).
*THIS IS FOLLOWED BY A BYTE IN BINARY WHICH TELLS FROM HIGH TO LOW BIT
*LEFT TO RIGHT WHETHER:
*BIT 0: THE D.O. PREPOSITION MAY FOLLOW THE D.O.:: TURN THE LIGHTS OFF.
*BIT 1: TAKES "DOWN" LIKE AN OBJECT:: SIT DOWN
*BIT 2: TAKES "UP" LIKE AN OBJECT:: GET UP
*BIT 3: TAKES I.O. WITH NO PREPOSITION:: GIVE THE FROG A BATH (FROG IS I.O.)
*BIT 4: TAKES D.O. WITH NO PREPOSITION:: KISS THE FROG (FROG IS D.O.)
*BIT 5: TAKES MULTIPLE D.O.'S
*BIT 6: REQUIRES AN I.O.
*BIT 7: REQUIRES A D.O.
*
*
* THE SAME WORD CAN BE BOTH A NOUN AND A VERB
* BUT ONE OR THE OTHER SHOULD HAVE A SPECIAL SYMBOL IN
* COLUMN 60. THE VERB'S SPECIAL SYMBOL CAN'T START IN "V"
* AND THE NOUN'S SHOULDN'T START IN "Z"
*VERBS
RUN 010000110001111 000000000000000 00010110
+RUSH
CRAWL 011110110001111 000000000000000 00010110
+SLITHER
JUMP 011001010010000 000000000000000 00000000
CLIMB 011000000011111 000000000000000 00010110
ASCEND 000000000000000 000000000000000 00010000
DESCEND 000000000000000 000000000000000 00010000
SWIM 000000010000100 000000000000000 10010110
CROSS 001000000000000 000000000010000 00010000
GO 010110110001111 000000000000000 00010110
+PROCEED
+WALK
+TRAVEL
TAKE 000001000000000 000000100100000 10110001
+CATCH
CARRY 000000000000000 000000000000000 10110000
REMOVE 000000000000000 000000100000000 10010000
+UNTIE
+DETACH
DROP 000000000000000 010111000010100 10110000
HOLD 000000000000000 000000000000000 10010000
FREEZE 000000000000000 000000000000000 10010000
SIT 000110000010100 000000000000000 00000010
+LIE
STAND 000000000010000 000000000000000 00000100
GET 000001000010001 000000100000000 00110100
ASK 000000000000000 000000000000000 00000000
TELL 000000000000000 000000000000000 00000000
OPEN 000000000000000 000000000100000 10010000
SHUT 000001000000000 000000000000000 10010001
+CLOSE
POUR 000000000000000 000110000010100 10010000
EAT 000000000000000 000000000000000 10010000
DRINK 000000000000000 000000000000000 10010000
WASH 000000000000000 000000000000000 10010000
THROW 000000000000000 011000011001100 10011000
+TOSS
FEED 000000000000000 000000010000000 11011000
FILL 000000000000001 000000000100001 10010001
IGNITE 000000000000000 000000000100000 10010000
+BURN
TURN 001001000010000 000000010100000 10010001
+SET
READ 000000000000000 000000010000000 10010000
BREAK 000000000000000 000000000100000 10010000
+SMASH
ATTACH 000000000000000 000000010000000 11010000
+TIE
+FASTEN
SCRATCH 000000000000000 000000000100000 10010000
+CUT
PICK 000000000000001 000000000100000 10010001
WEAR 000000000000000 000000000000000 10110000
PUT 000000000010010 000110000010100 10110001
+PLACE
+INSERT
LOCK 000000000000000 000000000100000 10010000
UNLOCK 000000000000000 000000000100000 10010000
LOOK 111110101011100 000000000000000 10010110
EXAMINE 000000000000000 000000000100000 10010000
YELL 000000000000000 000000000000000 00000000
+SCREAM
+SHOUT
+SAY
PUSH 000000000000000 011111010100000 10010000
+PRESS
+TOUCH
PUNCH 000000000000000 000000000100000 10010000
+HIT
+KICK
DIG 000000000100000 000000000000000 00000000
ATTACK 000000000000000 000000000100000 10010000
+KILL
+SLAY
+INJURE
+FIGHT
+MURDER
GIVE 000000000000000 000000010000000 11011000
+HAND
+DONATE
WATER 000000000000000 000000000000000 10010000 QWATER
IS 000000000000000 000110000011100 10010000
KISS 000000000000000 000000000000000 10010000
TRANSLATE 000000000000000 000000000000000 10010000
*THE NEXT FOUR WORDS COUNT AS BEING DIRTY
FUCK 000000000000000 000000000000000 00010000
PISS 000000000010000 000000000000000 00000000
*ALL THE VERBS BELOW HERE ARE SINGLE WORDS ONLY
SHIT
DAMN
MORE QMORE
NOMORE
QUIT
SUSPEND
+SAVE
RESTORE
BRIEF
VERBOSE
SUPERBRIE
SCORE
HELP
RETREAT
+BACK
+B
INVENTORY
+I
LOCATE
+L
PRAY
LAND
ACTIVATE
DEBUG
SHOOT
EXHALE
WAIT
+NULL
+X
AGAIN
+G
3
*ADJECTIVES
RED
BLUE
GREEN
YELLOW
ORANGE
VIOLET
+PURPLE
BROWN
+TAN
BLACK
WHITE
PINK
SILVER
PLATINUM
BRASS
COPPER
NICKEL
HEAVY
COLORFUL
BEAUTIFUL
RUBBER
GOOEY
CANVAS
BUTTERFLY
CHROME
INSTANT
CRABLIKE
CHOCOLATE
PLASTIC
BROKEN
+DAMAGED
+BAD
GOOD
DOLL
POTTED
VENUS
OVEREXPOSED
FLYING
FIERY
+FIRE
VENTILATION
FALLEN
HOCKEY
ROUND
CERAMIC
METAL
MAGNESIUM
HUGE
+GIANT
+LARGE
+BIG
MEDIUM
DEAD
FILE FILEC
SMALL
+TINY
GLOWING
STONE
SILICON
LITHIUM
TRIANGULA
HEXAGONAL
SQUARE
LEFT
RIGHT
MIDDLE
+CENTER
LEVEL
XRAY
MICROWAVE
RABBIT
FIRST
SECOND
THIRD
FOURTH
TERRAN
+ENGLISH
+GVIIZM
CYGNAN
+XBTMZM
VIDEO
SULFUROUS
VENDING
4
*NOUNS
*THE FIRST EIGHT MUST BE DIRECTIONS
NORTH
+N
NORTHEAST
+NE
EAST
+E
SOUTHEAST
+SE
SOUTH
+S
SOUTHWEST
+SW
WEST
+W
NORTHWEST
+NW
LAMP
+LANTERN
KNAPSACK
+BACKPACK
+PACK
+SACK
SHIT NSHIT
PISS NPISS
ME
SPIRE
WATER
LOCK NLOCK
KEYHOLE
TOWER
STOOLS
ISLAND
SHORE
BARRIER
BOWL
+BOWLS
BUILDING
+BAR
WINDOW
GLASS
+PLATE
WIRE
HORSETAIL
PTERODACT
WATERFALL
+FALLS
TREE
LOG
+TRUNK
CHASM
* THE WORDS BETWEEN ROBOT AND FERRET REPRESENT SENTIENT BEINGS
ROBOT
MARTIAN
+MARTIANS
CACTUS
GUARD
GUARDS
+REPTILE
FERRET
+FERRETS
ALL
+EVERYTHIN
SCREWDRIV
KNIFE
HAMMER
ORCHID
+ORCHIDS
FAUCET
SINK
LOUVER
BUCKET
PITCHFORK
SHOVEL
PLANET
POLE
TOMATO
+TOMATOS
LETTUCE
CABBAGE
+CABBAGES
STRAWBERR
GRAPE
+GRAPES
CATWALK
DECLINATI
RA
HOPPER
OPENING
BENCH
CHAIR
TUNNEL
TELESCOPE
MAP
NEWSPAPER
+PAPER
NOTE
ACID
+FLOW
DEET
+WVVG
METOL
+NVGLO
HYPO
+SBKL
CHEMICALS
+XSVNRXZOH
DARKROOM
+WZIPILLN
DIRECTOR
+WRIVXGLI
CONTROL
+XLMGILO
STORAGE
+HGLIRTV
*WORDS BEFORE THIS CANNOT HAVE ADJECTIVES
SAPPHIRE
DIAMOND
KEY
FISH
SHIRT
BOOTS
SHOES
PANTS
NET
TUBE
CAMERA
PHOTOGRAP
+PHOTO
+PICTURE
KNOB
COMBINATI
DIMPLE
STOOL
BAG
FOSSIL
MOSS
PUCK
BOULDER
+ROCK
GRAVEL
+SCREE
SPHERE
CUBE
+MONUMENT
+INSCRIPTI
CAT
BIRD
+BIRDS
FROG
+FROGS
VINE
+VINES
LATEX
ANTENNA
CABLE
COIN
EGG
HOUSE
HOLE
+HOLES
RECESS
DOOR
REPELLENT
FLYTRAP
+FLYTRAPS
SEED
STATUE
FAMILY
BEES
+BEE
+BEEHIVE
+HIVE
SHRUB
+SHRUBS
DISK
VAPOR
+VENT
PIT
MUD
STATUS
PAINTING
+DESIGN
+DESIGNS
+PAINTINGS
MUSHROOM
+MUSHROOMS
POOL
NUGGET
+GOLD
MINERAL
+CRYSTAL
BUTTON
SLOT
CASSETE
+CASSETTE
CARTRIDGE
DISC
+DISK
MACHINE
DESK
CABINET
ROD
BOX
DIAL
+DIALS
CARD
BEAD
+BEADS
SCREEN
INSECT
FILM
ENLARGER
+BASE
RACK
TRAY
FUNNEL
LIGHT
+LIGHTS
INDICATOR
BALL
+PILL
+CANDY
CLIP
MURAL
5
*PREPOSITIONS
*THE FIRST TWO MUST BE UP AND DOWN
UP
+U
DOWN
+D
IN
+INTO
+INSIDE
OUT
+OUTSIDE
ON
+ONTO
+UPON
WITH
+USING
AT
TO
FROM
OFF
UNDER
BEHIND
OVER
+ACROSS
THROUGH
FOR
BUT
+EXCEPT
AND
6
*THIS IS THE END
SHAR_EOF
# End of shell archive
exit 0
--
Bob Page, U of Lowell CS Dept. page@swan.ulowell.edu ulowell!page
Have five nice days.