summaryrefslogtreecommitdiff
path: root/agent.prolog
diff options
context:
space:
mode:
Diffstat (limited to 'agent.prolog')
-rw-r--r--agent.prolog41
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).
-