OK, I think I have a solution to this, but I'm not quite sure how to make it happen. Here comes the pseudocode:
Make a second array ("RoomTest") with the same properties as "Map" and run the room-generating algorithm through that instead.
Once room is drawn, test whether any 1s on "RoomTest" are also currently present at the same position on "Map"
If not, transfer all 1s on "Roomtest" to the same position on "Map"
If so, clear "Roomtest" and start the loop again. This should keep generating new rooms at new positions until a valid room is found.
That's how I think it would work, but I'm not sure how to code it exactly... any help? <img src="smileys/smiley4.gif" border="0" align="middle" />