Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0001140Documentation, Examples, and Web SiteWriting with Informpublic2013-10-13 12:502014-05-07 07:38
Reporterclimbingstars 
Assigned Tograham 
PrioritynormalSeveritymildReproducibilityalways
StatusclosedResolutionfixed 
Platformx86OSWindowsOS VersionXP
Product Version6G60 
Target VersionFixed in Version6L02 
Summary0001140: Explanation For Map Connection Phrase Is Incorrect.
Description"6.14. Adjacent rooms and routes through the map" says this.

"Alternatively, and particularly if the direction is not a constant,

room (direction) from/of (room) ... room

This phrase produces the room which the given map direction leads to, or the special value "nothing" if it leads nowhere or to a door.".

However, this is not true if it leads to a door. If it does lead to a door, it checks to see what is on the other side of the door. If it finds a room there it returns that room, otherwise it returns nothing.
Minimal Source Text To Reproduce
"Test"

The Testing Room is A Room.

The north door is a door. The North Door is north of The Testing Room.
The northeast door is a door. The Northeast Door is northeast of The Testing Room.
The northwest door is a door. The Northwest Door is northwest of The Testing Room.
The south door is a door. The South Door is south of The Testing Room.
The southeast door is a door. The Southeast Door is southeast of The Testing Room.
The southwest door is a door. The Southwest Door is southwest of The Testing Room.
The east door is a door. The East Door is east of The Testing Room.
The west door is a door. The West Door is west of The Testing Room.
The up door is a door. The Up Door is up of The Testing Room.
The down door is a door. The Down Door is down of The Testing Room.
The inside door is a door. The Inside Door is inside of The Testing Room.
The outside door is a door. The Outside Door is outside of The Testing Room.

The North Room is north of The North Door.
The South Room is south of The South Door.
The East Room is east of The East Door.
The West Room is west of The West Door.
The Up Room is up of The Up Door.
The Down Room is down of The Down Door.

After looking:
repeat with way running through directions begin;
say "Direction => [way] | Room => [room way of the location of the player] | Door => [door 
way of the location of the player] | Room Or Door => [room-or-door way of the location of the player][paragraph 
break]" in title case;
end repeat.
Additional InformationThis can easily be seen in the I6 function "MapConnection", which this phrase uses.

[ MapConnection from_room dir
in_direction through_door;
if ((from_room ofclass K1_room) && (dir ofclass K3_direction)) {
in_direction = Map_Storage-->
((from_room.IK1_Count)*No_Directions + dir.IK3_Count);
if (in_direction ofclass K1_room) return in_direction;
if (in_direction ofclass K4_door) {
@push location;
location = from_room;
through_door = in_direction.door_to();
@pull location;
if (through_door ofclass K1_room) return through_door;
}
}
return nothing;
];

In particular, this part.

if (in_direction ofclass K4_door) {
@push location;
location = from_room;
through_door = in_direction.door_to();
@pull location;
if (through_door ofclass K1_room) return through_door;
}
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
There are no notes attached to this issue.

- Issue History
Date Modified Username Field Change
2013-10-13 12:50 climbingstars New Issue
2013-10-30 13:17 EmacsUser Status new => confirmed
2014-01-25 09:32 graham Status confirmed => resolved
2014-01-25 09:32 graham Resolution open => fixed
2014-01-25 09:32 graham Assigned To => graham
2014-05-07 07:37 jmcgrew Fixed in Version => 6L02
2014-05-07 07:38 jmcgrew Status resolved => closed


Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker