Re: [Code] OLC and overlapping rooms

From: Sammy (samedi@dhc.net)
Date: 02/16/97


On Sat, 15 Feb 1997, Rasdan wrote:

> Hey all,
> 
>     I am trying to put a check within the olc I use (obuild) to make sure
> that a player cannot make overlapping rooms (ie: room creation sequence:
> n (room starting in = 100)
> e - 101
> s - 102
> w - 103
> n - 104 (BAD)
> 
>     Instead, what I would like to have done is for the code to 
> automatically create the w-n exit, instead of going to 104, to go to 100.

Off the top of my head, the simplest (not necessarily best) way to do this
is create a 100x100 array around the starting room (xx00) when a builder
enters the zone.  The array could be byte types that point to room numbers
0, 1, 2, etc, with -1 as an unused location.  Plot all the current rooms
in the big array, and log errors when rooms overlap.  Then when the
builder is walking around, overlap causes a linking rather than a new
room, and any movement that doesn't cause overlap is a valid new room
direction.

Hmm that's 10k per zone, assuming 100-room zones.  I think that's
acceptable if it's a temporary allocation.  You may want to have a flag to
turn off this behavior so you can do weird stuff like spiral staircases.

Sam

+-----------------------------------------------------------+
| Ensure that you have read the CircleMUD Mailing List FAQ: |
|   http://cspo.queensu.ca/~fletcher/Circle/list_faq.html   |
|    Or send 'info circle' to majordomo@cspo.queensu.ca     |
+-----------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/18/00 PST