AFTN.Map
Map parsing and utilities
type room = {
name : string;
Name of this room. If None, this room is a corridor
*)is_corridor : bool;
If the room is a corridor
*)connections : string list;
Connections denoted by room names - required as opposed to room list
due to functional update of map
ladder_connection : string option;
Room connected by a ladder
*)}
val string_of_room : room -> string
Get string
representation of room
val blank_room : room
val new_room : string -> room
Create new non-corridor room
val map_file_of_map : map -> string
Get a string
representation of a map
that is equivalent to the input map file
val blank_map : map
val string_of_parsing_state : map_parsing_state -> string
val advance_parsing_state :
map_parsing_state option ->
map_parsing_state option
Step parsing state forward
val parse_map_file : string -> map
Read a map file and parse it into a map
val active_search_params : search_params Stdlib.ref
val set_room_distance : room -> int -> unit
val discover_room : room -> unit
Find rooms in m
that are exactly distance
steps away from root