summaryrefslogtreecommitdiff
path: root/map.prolog
diff options
context:
space:
mode:
Diffstat (limited to 'map.prolog')
-rw-r--r--map.prolog135
1 files changed, 0 insertions, 135 deletions
diff --git a/map.prolog b/map.prolog
deleted file mode 100644
index f5bb863..0000000
--- a/map.prolog
+++ /dev/null
@@ -1,135 +0,0 @@
-
-:- module(map, [roomList/1, isConnected/1, connects/3]).
-
-
-:- consult('misc.prolog').
-
-
-
-
-% map has 20 rooms, labelled a through t
-% connections between rooms inscribe a dodecahedron, with the rooms
-% corresponding to the vertices and the connections between them to
-% the edges
-
-
-roomList(X) :- X = [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t].
-
-
-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).
-
-
-% loop around the middle
-
-connects(a,b,northeast).
-connects(b,c,southeast).
-connects(c,d,northeast).
-connects(d,e,southeast).
-connects(e,f,northeast).
-connects(f,g,southeast).
-connects(g,h,northeast).
-connects(h,i,southeast).
-connects(i,j,northeast).
-connects(j,a,southeast).
-
-
-% loop in the other direction around the middle
-
-connects(a,j,northwest).
-connects(j,i,southwest).
-connects(i,h,northwest).
-connects(h,g,southwest).
-connects(g,f,northwest).
-connects(f,e,southwest).
-connects(e,d,northwest).
-connects(d,c,southwest).
-connects(c,b,northwest).
-connects(b,a,southwest).
-
-
-% connections from the middle loop up to the top pentagon
-
-connects(b,k,north).
-connects(d,l,north).
-connects(f,m,north).
-connects(h,n,north).
-connects(j,o,north).
-
-
-% connections from the top pentagon down to the middle loop
-
-connects(k,b,south).
-connects(l,d,south).
-connects(m,f,south).
-connects(n,h,south).
-connects(o,j,south).
-
-
-% connections around the top pentagon
-
-connects(k,l,east).
-connects(l,m,east).
-connects(m,n,east).
-connects(n,o,east).
-connects(o,k,east).
-
-
-% connections around the top pentagon in the other direction
-
-connects(l,k,west).
-connects(m,l,west).
-connects(n,m,west).
-connects(o,n,west).
-connects(k,o,west).
-
-
-% connections from the middle loop to the bottom pentagon
-
-connects(a,p,south).
-connects(c,q,south).
-connects(e,r,south).
-connects(g,s,south).
-connects(i,t,south).
-
-
-% connections from the bottom pentagon up to the middle loop
-
-connects(p,a,north).
-connects(q,c,north).
-connects(r,e,north).
-connects(s,g,north).
-connects(t,i,north).
-
-
-% connections around the bottom pentagon
-
-connects(p,q,east).
-connects(q,r,east).
-connects(r,s,east).
-connects(s,t,east).
-connects(t,p,east).
-
-
-% connections around the bottom pentagon in the other direction
-
-connects(q,p,west).
-connects(r,q,west).
-connects(s,r,west).
-connects(t,s,west).
-connects(p,t,west).
-