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