Looking at your data statements, I wonder how many bytes are taken up by the double quotes( "" ) which determine which directions are available: 2?, 1?, 0?
If they take up more than zero bytes in the final .exe then a better way would be to use an integer (or SHORT if possible) to store a value that indicates which directions are available, followed by those directions.
i.e.[CODE]DATA "","","garden","","kitchen","","bedroom","","",""[/CODE]- which is 7 (or 14?) extra bytes
could be[CODE]DATA 84, "garden", "kitchen", "bedroom"[/CODE]if N=1,NE=2,E=4,SE=8,S=16,SW=32,W=64,NW=128,U=256,D=512
An even better format could be a lookup table for the room names. So the previous Data statement:[CODE]DATA 84, "garden", "kitchen", "bedroom"[/CODE]could be
So the original format for the Data statements taking up 27 bytes (or more?) could be reduced to 16 bytes if numbers are stored as integers(4 bytes) in DATA statements, or even less if the data was stored in a seperate file (because they could then be stored as SHORTs and BYTEs, thereby reducing it down to (in this example) 5 bytes)
If they take up more than zero bytes in the final .exe then a better way would be to use an integer (or SHORT if possible) to store a value that indicates which directions are available, followed by those directions.
i.e.[CODE]DATA "","","garden","","kitchen","","bedroom","","",""[/CODE]- which is 7 (or 14?) extra bytes
could be[CODE]DATA 84, "garden", "kitchen", "bedroom"[/CODE]if N=1,NE=2,E=4,SE=8,S=16,SW=32,W=64,NW=128,U=256,D=512
An even better format could be a lookup table for the room names. So the previous Data statement:[CODE]DATA 84, "garden", "kitchen", "bedroom"[/CODE]could be
DATA 84, 1, 3, 4if a table was made containing these values:
DATA "garden", "hall", "kitchen", "bedroom"where garden=1, hall=2, etc.
So the original format for the Data statements taking up 27 bytes (or more?) could be reduced to 16 bytes if numbers are stored as integers(4 bytes) in DATA statements, or even less if the data was stored in a seperate file (because they could then be stored as SHORTs and BYTEs, thereby reducing it down to (in this example) 5 bytes)