Here's the bottom screen. I am starting to think that it'd be a better idea to abstract this out into a 2 dimensional array and do the checks there before drawing at all. That's just going to take another rewrite.
By the above I mean: I'm just doing an overlap check using chkchr$() on the literally-drawn stuff. Someone elsewhere gave me the idea to put it all into a two-dimensional array first.
Yes, you can use chkchr$() to check what character is at a certain position in the console. It does indeed work like that. I rely upon that for a lot of other redraw functions elsewhere but it's not working too well here.
You're doing a lookahead, right?
1.Set room origin and dimension randomly.
2. Use chkchr to see if it's free.
3. If not, reduce dimension, repeat from 2 until too small.
4. If too small, try again from step 1 until MaxN tries. Goto 7.
5. Draw room.
6. Repeat from 1 until MaxN tries.
7. Done.
Something like that?
Sweet! Here's where I'm at right now; didn't get much chance to work on this over the weekend. I want to alternate the grid between room origin checks so that they don't 'line up' so much, then use a tunneler to make the hallways between them. Thanks again for the help!!