1:- module(substance, [substance/1]).    2/* * module * Interface module tying display engines to the underlying model
    3
    4*/
 substance(-Term:term) is nondet
Term is a partially bound term, used to interrogate state of the MUD.
map_origin(X, Y) - absolute coordinates Y down location of UL corner cell

map_size(X, Y) - size to display, in cells across and down

cell(+Player, +X, +Y, -Semantics) -

   22substance(map_origin(0,0)).
   23substance(map_size(4,4)).  % small for debugging ez
   24substance(cell(_, 0, _, wall)).
   25substance(cell(_, _, 0, wall)).
   26substance(cell(_, 3, _, wall)).
   27substance(cell(_, _, 3, wall)).
   28substance(cell(_, X, Y, floor)) :-
   29	between(1, 2, X),
   30	between(1, 2, Y).
   31
   32substance(need_new_player(_, G)) :- gensym(player, G).
   33substance(player_split(P)) :- debug(logicmoo, 'player ~w abandoned', [P])