So I was wondering, is there a way to make a counter-top that can be accessed from both within a bar, and outside of it? for example, somebody inside, is making drinks, and interacts with people sitting at the bar from the (outside) of it, placing a drink on one side of the table makes it accessible to the people on the other side, and vice-versa?
If such a thing were possible, it seems it would also be possible to have multiple sections of the bar that can be accessed by people sitting at different spots in relation to it.
The simplest way I think would be to have a bar, hugging A wall, and thus being a DIRECTIONAL entry bar, with fewer contradicting directions.
Then I started thinking, if multiple tables/or sections of A table were possible, then one can have a much larger room with an INSIDE center bar, surrounded by a circular countertop. the cardinal directions would specify where the drinks were placed(NE side, SE side, W side, etc.), and one would specify what direction from the center bar they would sit. So in theory, it would be a single countertop, but in practical placement, it would be several connected countertops.
I wish I could help. I posted an entire Inform 7 example before I realized you were working in TADS. (d’oh! )
You should look to Sensibility.t sample game by Eric Eve in which there is a fountain in centre of square consisting of four rooms which are connected with DistanceConnector to form one larger connected space and player can take a coin located in the fountain from any of the rooms. The fountain is modelled as a MultiLoc object which also servers as a Container in which the coin is located.
- DISTANCE CONNECTOR
- The four corners of the square are in visual, auditory and olfactory
- contact with each other (someone in one corner of the square can see
- into the other three corners and hear what’s going on there, and smells
- could in principle cross from one corner of the square to the others).
- We can represent that by using a DistanceConnector to join the four
- corners of the square. It’s a DistanceConnector because although
- there is sensory contact between the four corners of the square, it’s
- contact at a distance, rather then immediate (or ‘transparent’ in TADS
- 3 terminology), and that will effect the sensory information that is
- passed (e.g. you can’t touch distant objects or see the details of
- smaller distant objects).
DistanceConnector [squareNW, squareNE, squareSW, squareSE];
- The fountain stands at the centre of the square, and is thus equally
- accessible from all four corners. We can represent this by making the
- fountain a MultiLoc (which must be mixed-in with one or more
- Thing-derived classes in order to represent a physical object) and
- locating it in all four corners of the square.
fountain: MultiLoc, Container, Fixture ‘stone fountain/figure/pool’ ‘fountain’
"Whatever the stone figure originally was at the centre of the fountain, it
has long since been worn unrecognizable by the water constantly pouring from
it into the pool. "
locationList = [squareNW, squareNE, squareSW, squareSE]
- Note that while this coin is in the fountain it can be taken from any
- corner of the square.
- coin: Thing ‘old copper coin/penny’ ‘copper coin’
"It’s just an old penny. "