Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ulowell!page From: page@swan.ulowell.edu (Bob Page) Newsgroups: comp.sources.amiga Subject: v89i008: world - text adventure, Part01/07 Message-ID: <11468@swan.ulowell.edu> Date: 30 Jan 89 23:19:30 GMT Sender: news@swan.ulowell.edu Organization: University of Lowell, Computer Science Dept. Lines: 1743 Approved: page@swan.ulowell.edu 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 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.