So I had an idea for a map for the 10-room contest. And apparently automapping is strongly encouraged.
Automap by Mark Tilford works very well in most cases. It helped me immediately do stuff like
[spoiler]include automap by Mark Tilford.
room 1 is a room.
room 2 is east of room 1.
room 3 is southeast of room 1. room 3 is southwest of room 2.
to decide what number is the distance (d - east) from (r - room 1): decide on 2.
to decide what number is the distance (d - west) from (r - room 2): decide on 2.
to decide what number is the distance (d - northwest) from (r - room 3): decide on 1.
to decide what number is the distance (d - southeast) from (r - room 1): decide on 1.
to decide what number is the distance (d - northeast) from (r - room 3): decide on 1.
to decide what number is the distance (d - southwest) from (r - room 2): decide on 1.[/spoiler]
But the extension (as I understand it) has trouble with the following:
room y is west of room x. room x is northeast of room y. east of room y is room z. room z is southwest of room x.
This is a reasonable limitation–but is there any simple way around this? Is there any way to program this so that you could have distances for two segments?
I have some ideas such as defining a distance1 and distance2. But I have little idea (at the moment) of how to code the core bits, or if I would tack on my own small extension…here’s some pseudocode.
room y is west of room x. room x is northeast of room y. east of room y is room z. room z is southwest of room x.
to decide what number is the distance1 from (r - room y) to (r - room x): decide on 1.
to decide what number is the distance2 from (r - room y) to (r - room x): decide on 1.
to decide what number is the distance1 from (r - room x) to (r - room y): decide on 1.
to decide what number is the distance2 from (r - room x) to (r - room y): decide on 1.
...distance1 and distance2 are usually 0. If they are 0, follow the rules before, if they are >1, then draw a line (in this case) 1 unit NE from room y to a non-room character (like a .) then bend and go 1 unit E. Or 1 unit W from X and 1 unit SW.
The result would be a map like
…±1
./ /
2-3
Is this a good way to start going about things? Is there any general order-of-magnitude time frame for learning to tack on stuff to extensions? Would I need to, or could I just define an overriding rule instead?