diff options
author | Jed Barber <jjbarber@y7mail.com> | 2014-04-03 21:07:06 +1100 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2014-04-03 21:07:06 +1100 |
commit | 0b65dd864a804a6b96ca1b8aeacd947eeb361538 (patch) | |
tree | 288974d3d6f9b9ddf6d1cd7f03c0a8215f4069e4 /agent.prolog | |
parent | 133d71983ea4e39e6e971ca052b2eb0bf7437cc6 (diff) |
Moving some clauses around to more appropriate modules
Diffstat (limited to 'agent.prolog')
-rw-r--r-- | agent.prolog | 41 |
1 files changed, 1 insertions, 40 deletions
diff --git a/agent.prolog b/agent.prolog index 8adbe3e..41167c4 100644 --- a/agent.prolog +++ b/agent.prolog @@ -2,6 +2,7 @@ :- module(agent, [init, look/0, move/1, take/1, shoot/1]). +:- consult('misc.prolog'). :- consult('parser.prolog'). :- consult('map.prolog'). @@ -275,43 +276,3 @@ hazardAt(X) :- current_predicate(wumpusAt/1), wumpusAt(X). hazardAt(X) :- current_predicate(pitAt/1), pitAt(X). hazardAt(X) :- current_predicate(batsAt/1), batsAt(X). - -intercalate([X|Y], Spacer, Result) :- - intercalate(Y, Spacer, Tail), - atom_concat(X, Spacer, Head), - atom_concat(Head, Tail, Result). -intercalate([X], _, Result) :- Result = X. - - -filter(List, Predicate, Result) :- - Test =.. [Predicate,X], - findall(X, Test, No), - subtract(List, No, Result). - - -head(X,[Y]) :- X = Y. -head(X,[Y|_]) :- X = Y. - - -tail(X,[]) :- X = []. -tail(X,[_]) :- X = []. -tail(X,[_|Y]) :- X = Y. - - -isConnected([]) :- true. -isConnected(X) :- - head(Y,X), - tail(Z,X), - connectTail([Y],Z). - -connectTail(_,[]) :- true. -connectTail([],_) :- false. -connectTail(Open,G) :- - head(X,Open), - tail(Y,Open), - findall(N, connects(X,N,_), Ns), - subtract(G,Ns,Gx), - subtract(G,Gx,Nx), - append(Y,Nx,Yx), - connectTail(Yx,Gx). - |