sig
type wall_types = WALL | FLOOR
type t = PathVisual.Cave.wall_types array array
val make : int -> int -> PathVisual.Cave.t
val makeinit :
int -> int -> PathVisual.Cave.wall_types -> PathVisual.Cave.t
val iter :
(PathVisual.Cave.wall_types -> unit) ->
(unit -> unit) -> PathVisual.Cave.t -> unit
val map :
(PathVisual.Cave.wall_types -> 'a) -> PathVisual.Cave.t -> 'a array array
val copy : PathVisual.Cave.t -> PathVisual.Cave.t
val set :
PathVisual.Cave.t -> int -> int -> PathVisual.Cave.wall_types -> unit
val fold_right :
(PathVisual.Cave.wall_types -> 'a -> 'a) ->
('a -> 'a -> 'a) -> PathVisual.Cave.t -> 'a -> 'a
val mapi :
(int -> int -> PathVisual.Cave.wall_types -> 'a) ->
PathVisual.Cave.t -> 'a array array
val string_of_wall : PathVisual.Cave.wall_types -> string
val string_of_cave : PathVisual.Cave.t -> string
val print : PathVisual.Cave.t -> unit
val get : PathVisual.Cave.t -> int -> int -> PathVisual.Cave.wall_types
val is_valid_coor : PathVisual.Cave.t -> int -> int -> bool
val wall_neighbours : PathVisual.Cave.t -> int -> int -> int
val caveify : PathVisual.Cave.t -> int -> PathVisual.Cave.t
val neighbour_coords' : int * int -> (int * int) list
val neighbour_coords : int * int -> (int * int) list
val inrangexy : PathVisual.Cave.t -> int -> int -> bool
val isfloor : PathVisual.Cave.t -> int -> int -> bool
val getvalidxy : PathVisual.Cave.t -> int * int
val intpairset_neighbours :
PathVisual.Cave.t -> PathVisual.IntPairSet.t -> PathVisual.IntPairSet.t
val connected :
PathVisual.Cave.t -> PathVisual.IntPairSet.t -> PathVisual.IntPairSet.t
val find_unconnected :
PathVisual.Cave.t -> PathVisual.IntPairSet.t -> int * int
val find_connected :
PathVisual.Cave.t -> int * int -> PathVisual.IntPairSet.t -> int * int
val dig_tunnel :
PathVisual.Cave.t -> int * int -> int * int -> PathVisual.Cave.t
val connect_cave' :
PathVisual.Cave.t ->
int * int -> PathVisual.IntPairSet.t -> PathVisual.Cave.t
val connect_cave : PathVisual.Cave.t -> PathVisual.Cave.t
val makecave1 : int -> int -> int -> PathVisual.Cave.wall_types array array
val makecave2 : int -> int -> PathVisual.Cave.t
val makecave3 : int -> int -> PathVisual.Cave.t
val cave0 : PathVisual.Cave.wall_types array array
val cave1 : PathVisual.Cave.wall_types array array
val cave2 : PathVisual.Cave.wall_types array array
end