Sorry... misunderstood the post... been up too long...
:o) <-- asks for forgiveness...
*shrugs*
I haven't actually added the code, so I'm not the best resource, but from
the looks of the way things are... it looks like the algorithm counts on it
being a 2d maze...
One comment before I do this...
I'd use these defines for your directions
/*already defined in structs.h*/
#define NORTH 0
#define EAST 1
#define SOUTH 2
#define WEST 3
#define UP 4
#define DOWN 5
To start making it 3d, you would add a z, and then you would have to do the
following...
add z to the first line of ints
in the for loop with test... you need to make the check for 600... if I'm
reading this right...
so that it will check 6 directions rather than 4
you will also need to add a clause for z which will come after y
so after y you have...
temp = temp - (y*10);
z = temp;
the room equation also has to take z into the picture, as z is now a part
of the equation.
From the way that the code looks, each room is assigned a unique value with
y as the indicator. So, in order to incorporate z into the equation, you
can do the following:
room = (vnum * 1000) + (x*100) + (y*10) + z;
what that does, is just add another factor of 10 to the equation. By doing
so, everything still has a unique value.
in the chain of if's here:
if ((x == 0) && (dir == 0))
continue;
if ((y == 9) && (dir == 1))
continue;
if ((x == 9) && (dir == 2))
continue;
if ((y == 0) && (dir == 3))
continue;
change it to the following
if ((x == 0) && (dir == NORTH))
continue;
if ((y == 9) && (dir == EAST))
continue;
if ((x == 9) && (dir == SOUTH))
continue;
if ((y == 0) && (dir == WEST))
continue;
if ((z == 0) && (dir == DOWN))
continue;
if ((z == 9) && (dir == UP))
continue;
Take note that this assumes a z of 0 is the floor... (so your left hand
corner room, basement level would be 0,0,0)
So on and so forth...
As I said... I haven't put this code in myself... but it looks like you
just have to reformat a little for things to work with 3 dimensions...
Hope this helps a little,
Michael Gesner
Co-Admin of Rhu-Dina'ar
rhudin.newvisiongames.net 17777
PS: This is mailer code... it may not work... I'm a bit tired... but I did
it for the general algorithm... feel free to mail me personally and we can
work it out if this doesn't work...
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/04/01 PST